Ala*_*med 3 javascript google-sheets google-sheets-api
我正在尝试使用 javascript 从 google 工作表获取一些数据。我的工作表中有多个工作表。我成功获取单个工作表的所有数据。但我需要从所有工作表中获取所有数据。这是我的单个工作表的代码。
$.ajax({
type: 'get',
url: 'https://sheets.googleapis.com/v4/spreadsheets/{sheet_id}/values/sheet1?key={API_KEY}',
async: false,
success: function(response) {
}
});
Run Code Online (Sandbox Code Playgroud)
谁能帮我获取所有工作表的所有数据?
我认为在您目前的情况下,您正在使用Sheets API的spreadsheets.values.get方法。例如,当您想要检索所有工作表中的所有值时,以下两种模式怎么样?
在此模式中,它使用Sheets API的spreadsheets.get方法。在这种情况下,所有值都可以通过以下端点检索。
端点:https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fdata%2FrowData%2Fvalues%2FuserEnteredValue&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
sheets/data/rowData/values/userEnteredValue用于检索值。在此模式中,它使用Sheets API的spreadsheets.values.batchGet方法。在这种情况下,您需要知道每个工作表名称,因为此方法中使用工作表名称。
端点:https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###/values:batchGet?ranges=Sheet1&ranges=Sheet2&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
ranges=Sheet1&ranges=Sheet2&...。如果我误解了你的问题,我深表歉意。
如果我的理解是正确的,那么如何使用 Sheets API 的 Spreadsheets.get 方法检索工作表名称。端点是
https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fproperties%2Ftitle&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
在本例中,sheets/properties/title用作fields。这样,就可以检索到所有的工作表名称。当这反映到你的脚本中时,这个修改怎么样?我认为这是一个简单的修改。所以请根据您的情况进行修改。我认为针对您的情况有几种解决方案。所以请将此视为其中之一。
$.ajax({
type: 'get',
url: 'https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fproperties%2Ftitle&key={API_KEY}',
async: false,
success: function(response) {
const queryParams = response.sheets.reduce((s, e, i) => s += "ranges=" + e.properties.title + (i < response.sheets.length - 1? "&" : ""), "");
$.ajax({
type: 'get',
url: 'https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###/values:batchGet?key={API_KEY}&' + queryParams,
async: false,
success: function(r) {
console.log(r)
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3961 次 |
| 最近记录: |