尝试将开发模式与 GAS doPOST 一起使用
Trying to use dev mode with GAS doPOST
我正在尝试使用邮递员测试我的应用程序脚本 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命令时,示例命令如下。您可以 select 其中之一并在您的终端上进行测试。两个命令都使用 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 ###"
- 为了访问部署的 Web 应用程序
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()
的功能。这样,可以检索包括范围的访问令牌。
我正在尝试使用邮递员测试我的应用程序脚本 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命令时,示例命令如下。您可以 select 其中之一并在您的终端上进行测试。两个命令都使用 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 ###"
- 为了访问部署的 Web 应用程序
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()
的功能。这样,可以检索包括范围的访问令牌。