UrlFetchapp响应错误{“ success”:false,“ error”:“ org.json.simple.JSONArray无法转换为org.json.simple.JSONObject”}

时间:2019-07-19 15:54:04

标签: google-apps-script google-apps-script-api

当我使用方法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()); 

2 个答案:

答案 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与您的授权请求(可能还有内容类型)之间的交互上。