arrays - 使用 Google Apps 脚本对数组进行 POST 时出现问题
问题描述
我正在开发一个使用 Google Apps 脚本向 API 发送 POST 的代码。
该 API 在有效负载中需要一个 Array of Arrays。
我直接将一个范围的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"]]}
[20-08-14 03:19:37:647 CEST] {Success=false, Data={Code=-1.0, Message=Error: 提供的参数“数据”必须是数组(单元格)的数组。}}
我检查了 JSON.stringify 并没有它。(结果没有差异)
你知道我在创建有效载荷时做错了什么吗?正如我所见,一切都应该没问题...
解决方案
推荐阅读
- android - 当用户在屏幕上滑动时显示视图
- python - 两个用户的功能
- objective-c - IOS12 中的 NSURLSessionDataTask、dataTaskWithRequest:completionHandler 问题
- java - XWPFDocument - 替换文本不起作用
- algorithm - Kotlin 默认使用哪种排序方式?
- java - 硒中的WebElements与WebElement的区别
- php - PHP-在数据库表中链接以仅显示一个表行
- apache-camel - 骆驼 XPATH 变量到 XQuery element() 转换问题
- machine-learning - pytorch 中内核大小和填充的默认值是多少?
- c# - 检查 html 是否包含标签和空格