当我使用方法UrlFetchapp在Google appscript中调用API时,由于无法将org.json.simple.JSONArray转换为org.json.simple.JSONObject而出现错误
使用方法UrlFetchapp的Google应用程序脚本由于org.json.simple.JSONArray错误而无法转换为org.json.simple.JSONObject
var url='https://us-sandbox-api.abcd.com/api/rest/v2/venue/get/venues';
var EventData=[{
"StartDate": "07/22/2019 09:00",
"EndDate": "07/29/2019 17:00",
"VenueId": [12312312]
}];
var options = {
"method" : "POST",
"headers" : {
"Content-Type": "application/json",
"Authorization" : "Bearer "+ Access_Token
},
"payload":JSON.stringify(EventData)
};
var resp=UrlFetchApp.fetch(url,options);
var RespObj= JSON.parse(resp.getContentText());
答案 0 :(得分:0)
有趣的是...在使用UrlFetchApp之前,我从未遇到过此错误。我相信内容类型应该在标头之外引用,请尝试下面的代码。
请参阅受UrlFetchApp支持的格式。
var EventData = {
"StartDate": "07/22/2019 09:00",
"EndDate": "07/29/2019 17:00",
"VenueId": [12312312]
};
var options = {
"method" : "post",
"headers": {"Authorization" : "Bearer " + Access_Token },
"contentType": "application/json",
"payload": JSON.stringify(EventData)
};
var resp = UrlFetchApp.fetch(url, options);
var RespObj = JSON.parse(resp.getContentText());
答案 1 :(得分:0)
HTTP 415 Unsupported Media Type client error response code表示服务器拒绝接受请求,因为有效载荷格式为不支持的格式。
没有您的凭据,我无法打开您的URL,但是如果我为其他URL测试您的代码-它确实起作用,那么错误必定出在您的URL与您的授权请求(可能还有内容类型)之间的交互上。