0

当我使用 UrlFetchapp 方法在 Google appscript 中调用 API 时出现错误,因为 org.json.simple.JSONArray 无法转换为 org.json.simple.JSONObject

Google appscript 使用 UrlFetchapp 方法获取错误,因为 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()); 
4

2 回答 2

0

HTTP 415 Unsupported Media Type 客户端错误响应代码表示服务器拒绝接受请求,因为负载格式是不受支持的格式。

没有您的凭据,我无法打开您的 URL,但如果我测试您的代码以获取不同的 URL - 它确实有效,因此错误必须在于您的 URL 和您的授权请求(可能还有内容类型)之间的交互。

于 2019-07-22T10:15:47.973 回答
0

有趣...我在使用 UrlFetchApp 时从未遇到过此错误。我相信content-type应该在headers之外引用,试试下面的代码。

请参阅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());

于 2019-07-19T16:59:04.893 回答