php - Google Script 不与 PHP API 交互
问题描述
我正在尝试使用 Google Apps 脚本将我的 Google Sheet 连接到 PHP 脚本。UrlFetchApp
这需要使用该功能发送有效负载。而且,这就是 Script 和 PHP 之间的连接出错的地方。
连接有效,当我将echo
PHP 脚本中的值替换为非变量时,会有响应。另外,我的响应代码是200
. 但是,发送或读取我的有效载荷是问题所在。
谷歌应用脚本:
var payload = {"A": "12345"};
var url = 'myurl/stats.php'
var response = UrlFetchApp.fetch(
url,
{
"method": "GET",
"contentType": "application/json",
"payload": JSON.stringify(payload),
}
);
var responseCode = response.getResponseCode();
var responseBody = response.getContentText();
Logger.log(responseCode);
Logger.log(responseBody);
PHP:
<?php
$A = $_GET["A"];
echo json_encode("Hello: ".$A);
?>
注意:使用浏览器,此 PHP 脚本可以运行。
我希望responseBody
是,"Hello: 12345"
但实际输出是"Hello: "
解决方案
简单修改您的 php 代码以发送响应
var payload = {"A": "12345"};
var url = 'myurl/stats.php?A=' + payload.A;
var response = UrlFetchApp.fetch(
url,
{
"method": "GET",
"contentType": "application/json",
"payload": JSON.stringify(payload),
}
);
var responseCode = response.getResponseCode();
var responseBody = response.getContentText();
Logger.log(responseCode);
Logger.log(responseBody);
<?php
$A = $_GET["A"];
echo json_encode(["Hello" => $A]);
// echo json_encode("Hello: ".$A);
?>
推荐阅读
- python - 是否可以在 Tkinter 的一个标签中使用 2 种不同的字体?
- gitlab - 如何在 gitlab-ci.yml 中定义和使用字符串列表
- javascript - 如何使用 AWS SDK v3 为经过身份验证的用户请求临时 STS 凭证?
- excel - 是否可以使用动态过滤器的结果填充 Excel 工作表?
- amazon-ec2 - 是否可以在不同的 EC2 机器上创建一个 Kafka 集群?
- firebase - VSCode 不再自动完成/建议 firebase 方法?
- mysql - MySQL 查询未按预期运行
- batch-file - 使用“rundll 键盘,禁用”运行批处理文件是否需要恢复出厂设置才能修复?
- esp8266 - ESP8266-12F WiFi 软 AP config.authmode 失败
- r - 包足球动画