从 Google Sheet Script 将 JSON 数组发送到网络服务
Posted
技术标签:
【中文标题】从 Google Sheet Script 将 JSON 数组发送到网络服务【英文标题】:Sending JSON array to webservice from Google Sheet Script 【发布时间】:2015-01-10 21:34:37 【问题描述】:我们有一个返回产品信息的网络服务。该服务需要在发布数据中包含一个 JSON 数组...
一个简单的 html 测试网页的示例脚本如下(按预期工作):
<script src="//code.jquery.com/jquery-1.11.2.min.js">【问题讨论】:
作为一种解决方法,因为您可以访问 PHP 代码,而不是提供 JSON,而是提供 HTML,并使用 URL GET 参数进行请求。 【参考方案1】:var options =
"method": 'POST',
"payload": JSON.stringify(payload)
;
或将 pid 和字段的每个值字符串化。
【讨论】:
【参考方案2】:乔纳森 - 您建议的评论就是解决方案....
这不起作用:
var options =
"method": 'POST',
"payload": JSON.stringify(payload)
;
但有效载荷数组元素上的字符串化有效(请注意,简单元素在没有字符串化的情况下也有效,例如 'text' : "some text here"):
var nids = [658,71,6,700 ];
var fields = ['pid','CostPrice','type','published','title']
var payload =
pid : JSON.stringify(nids),
fields: JSON.stringify(fields)
;
var options =
"method": 'POST',
"payload": payload
;
【讨论】:
【参考方案3】:我想我已经解决了同样的问题: How to send a post request with an array in payload by urlfetchapp
必须以这种方式准备有效负载!我在制作解决方法 PHP 脚本时发现了这个解决方案。
var payload =
"fields[0]":"firstString",
"fields[1]":"anotherString in array",
不是很直观,但对我来说效果很好!
【讨论】:
以上是关于从 Google Sheet Script 将 JSON 数组发送到网络服务的主要内容,如果未能解决你的问题,请参考以下文章
Google Sheet Script:有没有办法在不停止脚本的情况下显示消息?
Google-Apps-Script 无法使用 getDataRange().setValues() 写回数据库