是否可以将 Sheets API post 端点与 UrlFetchApp 一起使用?
Is this possible to use Sheets API post endpoint with UrlFetchApp?
我正在尝试将数据附加到电子表格。
我使用 UrlFetchApp
到 GET
值,但是否可以使用 POST
值,例如,将行附加到电子表格?
到目前为止,这是我的代码
var token = ScriptApp.getOAuthToken();
var options = {
"headers": {
'Authorization': 'Bearer ' + token
},
"method": "POST",
"Content-type" : "application/json",
"payload": JSON.stringify(values) //stringify a 2D array of data
}
var resp = UrlFetchApp.fetch("https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/RangeName:append?insertDataOption=INSERT_ROWS", options);
可以将表格 API post URL 与 UrlFetchApp 一起使用。那么这个修改怎么样呢?
修改点:
- 查询参数请使用
valueInputOption
。
- 在您的端点中,我认为发生了
valueInputOption' is required but not specified
错误。
- 如果要使用
Content-type
,请将其添加到headers。
- 如果要使用headers以外的内容类型,请使用
contentType: "application/json"
。
修改后的脚本:
// sample values
var values = {"values":[["a1","b1","c1"],["a2","b2","c2"]]};
var spreadsheetId = "### spreadsheetId ###";
var RangeName = "### RangeName ###";
var token = ScriptApp.getOAuthToken();
var options = {
"headers": {
'Authorization': 'Bearer ' + token,
"Content-type": "application/json", // Modified
},
"method": "POST",
"payload": JSON.stringify(values) //stringify a 2D array of data
}
var url = "https://sheets.googleapis.com/v4/spreadsheets/" + spreadsheetId + "/values/" + RangeName + ":append?insertDataOption=INSERT_ROWS&valueInputOption=USER_ENTERED"; // Modified
var resp = UrlFetchApp.fetch(url, options);
注:
- 在你运行这个脚本之前,请确认是否在API控制台启用了表格API。
参考文献:
如果这不是您想要的,请告诉我。我想修改一下。
我正在尝试将数据附加到电子表格。
我使用 UrlFetchApp
到 GET
值,但是否可以使用 POST
值,例如,将行附加到电子表格?
到目前为止,这是我的代码
var token = ScriptApp.getOAuthToken();
var options = {
"headers": {
'Authorization': 'Bearer ' + token
},
"method": "POST",
"Content-type" : "application/json",
"payload": JSON.stringify(values) //stringify a 2D array of data
}
var resp = UrlFetchApp.fetch("https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/RangeName:append?insertDataOption=INSERT_ROWS", options);
可以将表格 API post URL 与 UrlFetchApp 一起使用。那么这个修改怎么样呢?
修改点:
- 查询参数请使用
valueInputOption
。- 在您的端点中,我认为发生了
valueInputOption' is required but not specified
错误。
- 在您的端点中,我认为发生了
- 如果要使用
Content-type
,请将其添加到headers。- 如果要使用headers以外的内容类型,请使用
contentType: "application/json"
。
- 如果要使用headers以外的内容类型,请使用
修改后的脚本:
// sample values
var values = {"values":[["a1","b1","c1"],["a2","b2","c2"]]};
var spreadsheetId = "### spreadsheetId ###";
var RangeName = "### RangeName ###";
var token = ScriptApp.getOAuthToken();
var options = {
"headers": {
'Authorization': 'Bearer ' + token,
"Content-type": "application/json", // Modified
},
"method": "POST",
"payload": JSON.stringify(values) //stringify a 2D array of data
}
var url = "https://sheets.googleapis.com/v4/spreadsheets/" + spreadsheetId + "/values/" + RangeName + ":append?insertDataOption=INSERT_ROWS&valueInputOption=USER_ENTERED"; // Modified
var resp = UrlFetchApp.fetch(url, options);
注:
- 在你运行这个脚本之前,请确认是否在API控制台启用了表格API。
参考文献:
如果这不是您想要的,请告诉我。我想修改一下。