使用apps脚本从另一个服务器POST请求接收参数

时间:2016-05-31 08:19:04

标签: google-apps-script google-apps

我有一些关于使用应用脚本的技术问题。 第三方服务器在POST方法中向我发送参数,请求如下所示:https://script.google.com/macros/s/AKfycbyJYVLO46T1LnQKktaMrROclCOqgawcVfZaRbm_oXfJaMIYcPj8/exec?value= $ postback_params_test $(所以我需要收到$ postback_params_test $作为值)

我使用了doPost(e)函数,但没有成功,我的问题是因为apps脚本基于客户端java脚本而且它与服务器语言交谈,我是对的吗?或者通过应用程序脚本可以选择执行此操作吗?

我的代码:

function doPost(e){
var param = e.parameter.value;
var doc = SpreadsheetApp.openById("106jpepwZZWXtpO4Id45qmJovV68q_DIqpEmTQ0khf4E");
var cell = doc.getRange('a1');
cell.setValue(param);
}

8.6

图片添加: enter image description here

1 个答案:

答案 0 :(得分:0)

当部署为具有设置的Web应用程序时,执行为:me"和#34;谁有权访问该应用程序:任何人,甚至匿名"你的示例代码有效。

您是否授权代码?在将其作为Web应用程序运行之前,必须在脚本编辑器中手动运行doPost()(或其他函数),以便为脚本授予适当的权限。

如果不是授权问题,您可以添加MailApp.sendemail()调用以帮助您进行问题排查。

function doPost(e) {
    MailApp.sendEmail('YOUR-EMAIL HERE','TEST doPost()',JSON.stringify(e));

这样您就会收到一封电子邮件,显示来自其他服务器的原始请求。

确保在添加MailApp行后手动重新运行脚本,以便您可以授权它发送电子邮件,并更新已发布的版本。