我正在尝试使用邮递员测试我的应用程序脚本 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.
编辑2:
doPost()
并通过端点 https://script.google.com/macros/s/###/dev
访问 Web 应用程序。如果我的理解是正确的,
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 应用程序检索到的端点。-d "key=value"
作为 post 方法。如果您不想输入值,请替换为 -d ""
。https://www.googleapis.com/auth/drive
的范围。
// DriveApp.getFiles();
getOAuthToken1()
的功能。通过此,可以检索包括范围的访问令牌。这个答案不再有效,还有其他解决办法吗?