【发布时间】:2020-05-11 14:50:11
【问题描述】:
下面的代码有效。它使用e.queryString 请求参数将数据发送到谷歌应用程序脚本。我想知道如何更新它,以便它发送相同的数据,但使用对象和 e.parameter 参数。
如何更新我的工作代码,以便它将以下对象 e.parameter 发送到我的脚本 @https://script.google.com/macros/s/XXXXXXSCRIPTIDXXXXX/exec 并将值返回到我的 php 文件?
对象
{"responderName": "todd", "presenterName": "steve"}
使用 e.queryString 参数的工作 PHP 代码
$url = 'https://script.google.com/macros/s/XXXXXXSCRIPTIDXXXXX/exec?responderName=todd&presenterName=steve';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($curl);
echo $response;
curl_close($curl);
使用 e.queryString 的工作应用程序脚本代码
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params);
}
【问题讨论】:
-
不清楚。你想发送一个对象而不是一个查询字符串?
-
@TheMaster,很抱歉这个问题的措辞不正确。答案是使用。我想发送一个对象而不是查询字符串。感谢您的帮助!
-
事件对象已经有一个
parameter和一个parameters属性。 Google 从 URL 参数 developers.google.com/apps-script/guides/web#request_parameters 构造在您的doGet方法中接收到的对象添加此 sn-p 后,在 Stackdriver 日志中查看 e:console.log({ message: "doget e", eventObject: e }) -
@tehhowch,谢谢。此信息帮助我了解我的问题措辞错误。我试图弄清楚如何在不使用 URL 中的查询字符串的情况下将信息发送到 Google Apps 脚本。是否可以在不将数据添加到 url 的情况下发送对象?
标签: javascript php curl google-apps-script