问题描述
我正在开发使用Google Apps脚本对API进行POST的代码。
该API在有效负载中需要一个数组数组。
我直接将范围的GetValues用作数组数组,原因是,据我了解,其结果是数组数组
如果我已经对curl进行了测试,则该API可以正常工作,但是当我使用Google Apps脚本时,该API会返回有效负载不正确的信息。
代码如下:
function GetUrl()
{
var values = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().getDisplayValues();
var api = "https://......";
var headers = {
"xxxxx-auth": "--------------------------","content-type" : "application/json","cache-control": "no-cache"
};
var payload =
{
"token": "XXXXXXXXXXXXXXXXXXXXXXXXX","data" : JSON.stringify(values),}
Logger.log(payload);
var options =
{
"headers": headers,"method" : "POST","payload" : JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(api,options);
var json = JSON.parse(response.getContentText());
Logger.log(json);
}
如果执行此代码,我将获得以下日志:
[20-08-14 03:19:37:134 CEST] {token = XXXXXXXXXXXXX,data = [[“ header1”,“ header2”,“ header3”],[“ blu”,“ blu2”,“ blu4“],[” bla“,” bla2“,” bla3“],[” blu“,” blu3“,” blu5“],[” bla“,” bla3“,” bla4“]]}} p >
[20-08-14 03:19:37:647 CEST] {成功=否,数据= {代码= -1.0,消息=错误:提供的参数“数据”必须是数组(单元)的数组。 }}
我检查了JSON.stringify并没有它。 (结果无差异)
您知道我在创建有效负载时做错了什么吗?我认为一切都应该没事...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)