我正在尝试用邮递员测试我的应用程序脚本doPost功能。到目前为止,我有:
function doPost(e) {
var id = '1L_U7MhmV............................'
SpreadsheetApp.openById(id).getSheetByName('responses').appendRow([new Date()]);
var params = JSON.stringify(e.parameter);
return ContentService.createTextOutput(JSON.stringify(e.parameter));
}
我可以使它与/ exec字符串一起使用,但是当我尝试/ dev字符串时却无法。我遇到500错误。我已登录我的帐户,并在“发布”下更新了版本号。我该如何工作?
编辑:
谢谢。我正在尝试选择1。我创建了一个记录誓言令牌的函数:
function getOAuthToken1() {
Logger.log('Current project has ' + ScriptApp.getOAuthToken());
}
https://script.google.com/macros/s/ACCESSTOKEN/dev
但是发布到此会产生:
Sorry, the file you have requested does not exist.
EDIT2:
答案 0 :(得分:2)
doPost()
并以https://script.google.com/macros/s/###/dev
的端点访问Web Apps。如果我的理解是正确的,则https://script.google.com/macros/s/ACCESSTOKEN/dev
不能用作端点。请使用https://script.google.com/macros/s/###/dev
的原始端点。
作为2个简单测试示例,使用curl命令时,示例命令如下。您可以选择其中之一并在终端上进行测试。这两个命令都使用POST方法。
curl -L -H "Authorization: Bearer ### access token ###" -d "key=value" "https://script.google.com/macros/s/#####/dev"
或
curl -L -d "key=value" "https://script.google.com/macros/s/#####/dev?access_token=### access token ###"
https://script.google.com/macros/s/###/dev
的端点,需要使用访问令牌。 ### access token ###
替换为ScriptApp.getOAuthToken()
检索到的值。https://script.google.com/macros/s/#####/dev
替换为通过部署Web Apps检索到的端点。-d "key=value"
用于post方法。如果您不想输入值,请替换为-d ""
。https://www.googleapis.com/auth/drive
的范围。
// DriveApp.getFiles();
getOAuthToken1()
的功能。这样,可以检索包括范围的访问令牌。