Post 应用程序脚本-使用Google Sheets REST API v4-未写入值-无错误消息
我已经让所有的东西都工作了,但是这些值没有被写入电子表格。我甚至从POST请求中得到了部分有效的回复。我只是不知道把Post 应用程序脚本-使用Google Sheets REST API v4-未写入值-无错误消息,post,google-apps-script,google-sheets-api,Post,Google Apps Script,Google Sheets Api,我已经让所有的东西都工作了,但是这些值没有被写入电子表格。我甚至从POST请求中得到了部分有效的回复。我只是不知道把值放到哪里我已经试着把它们放到有效负载和URL中了 function writeToSheet() { var id,options,range,response,sh,ss,url,values; id = 'Put the spreadsheet ID here'; range = "Sheet1!A1:A1"; values = "['3','two','n
值放到哪里
我已经试着把它们放到有效负载和URL中了
function writeToSheet() {
var id,options,range,response,sh,ss,url,values;
id = 'Put the spreadsheet ID here';
range = "Sheet1!A1:A1";
values = "['3','two','nine']";
url = "https://sheets.googleapis.com/v4/spreadsheets/" +
id + "/values/" + range + ":append?valueInputOption=USER_ENTERED";
options = {
"method":"post",
"muteHttpExceptions": true,
"headers": {
"Authorization": "Bearer " + ScriptApp.getOAuthToken()
}
}
response = UrlFetchApp.fetch(url,options)
response = JSON.parse(response);
Logger.log('response ' + JSON.stringify(response))
}
我试过:
url = "https://sheets.googleapis.com/v4/spreadsheets/" + id +
"/" + values + "/" + range + ":append?valueInputOption=USER_ENTERED";
我尝试将values
属性放入有效负载。什么都不管用
我的望远镜很好用。我没有收到任何授权错误。这是我的清单文件,其中的作用域工作得很好
{
"timeZone": "America/New_York",
"dependencies": {
},
"webapp": {
"access": "MYSELF",
"executeAs": "USER_DEPLOYING"
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": ["https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/script.external_request"]
}
我甚至从POST请求中得到了一个合法的回复,除了值
/* The response I'm getting back
{
"spreadsheetId":"ID Here",
"tableRange":"Sheet1!A1:C2",
"updates":{
"spreadsheetId":"ID here",
"updatedRange":"Sheet1!A3"
}
}
*/
将要写入电子表格的值放在何处?此修改如何 修改点:
- 需要在标题中包含
“application/json”
- 请求主体是
。{values:['3','two','nine']}
- 它假定您希望将
'3'、'two'、'nine'的值分别附加到列A、B和C中
- 如果要将
的值分别附加到第1行、第2行和第3行,请使用'3'、'two'、'nine'
{values:[['3']、['two']、['nine']}
- 它假定您希望将
如果这不起作用,我可以问一下错误消息吗?我想修改它。@Sandy欢迎光临。我很高兴你的问题解决了。
function writeToSheet() {
var id,options,range,response,sh,ss,url,values;
id = 'Put the spreadsheet ID here';
range = "Sheet1!A1:A1";
values = {values: [['3','two','nine']]}; // Modified
url = "https://sheets.googleapis.com/v4/spreadsheets/" +
id + "/values/" + range + ":append?valueInputOption=USER_ENTERED";
options = {
"method":"post",
"muteHttpExceptions": true,
"headers": {
"Authorization": "Bearer " + ScriptApp.getOAuthToken()
},
"contentType": "application/json", // Added
"payload": JSON.stringify(values) // Added
}
response = UrlFetchApp.fetch(url,options)
response = JSON.parse(response);
Logger.log('response ' + JSON.stringify(response))
}