javascript - Google 脚本 API 路由错误 409

标签 javascript json google-apps-script google-apps

我正在尝试制作一个脚本,在routexl API 的帮助下计算出通过多个位置的最快路线。然而,我尝试的所有操作似乎都会出现错误 409 chop 的服务器响应。我的代码如下。

 function myFunctionpost() {
      var url = "https://api.routexl.nl/distances";
      var places = [{"address":"1","lat":"52.05429","lng":"4.248618"},{"address":"2","lat":"52.076892","lng":"4.26975"},{"address":"3","lat":"51.669946","lng":"5.61852"}];
      var locations = JSON.stringify(places);
      var headers = { 
          "Authorization":"Basic " + Utilities.base64Encode("Username:password"),
          "Content-Type":"application/json"
      };
      var options = { 
          'method' : 'post',
          'headers' : headers,
          'contentType': 'application/json',
          'payload' : locations,
          'muteHttpExceptions' : true
      };
      var response = UrlFetchApp.fetch(url, options);
      //var json = response.getContentText();
      //var data = JSON.parse(json);
      Logger.log(response);
  }

最佳答案

409错误表示有no input成立。我不是 Google Apps 专家,但 RouteXL API 需要“位置”作为输入参数。在您的示例中,发布的位置 JSON 没有位置键。

更新:在对 Google Apps 脚本进行一些测试后,我还发现 ContentType 需要调整。

这是一个对我有用的示例:

function myFunctionpost() {
      var url = "https://api.routexl.nl/distances";
      var places = [{"address":"1","lat":"52.05429","lng":"4.248618"},{"address":"2","lat":"52.076892","lng":"4.26975"},{"address":"3","lat":"51.669946","lng":"5.61852"}];
      var locations = JSON.stringify(places);
      var headers = { 
          "Authorization":"Basic " + Utilities.base64Encode("username:password")
      };
      var options = { 
          'method' : 'post',
          'headers' : headers,
          'contentType': 'application/x-www-form-urlencoded',
          'payload' : {'locations': locations},
          'muteHttpExceptions' : true
      };
      var response = UrlFetchApp.fetch(url, options);
      //var json = response.getContentText();
      //var data = JSON.parse(json);
      Logger.log(response);
  }

关于javascript - Google 脚本 API 路由错误 409,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41734834/

相关文章:

gmail - 根据时间在 Gmail 中搜索电子邮件

javascript - 输入标签中的多种字体颜色

javascript - NoReverseMatch,反向登录未找到错误

json - JQ,如何根据条件算?

php - 如何在 jQuery 中将 php 响应解析为 json

google-apps-script - 如何禁用 SpreadsheetApp.addMenu 项

javascript - 从一个单元格复制一个值并将其粘贴到另一个 - Google Apps 脚本

javascript - [AngularJS][JavaEE] 如何使用 $http.post() 发送多个数据

javascript - 如何将悬停更改为 Angular onclick?

c# - 具有内部属性的 JSON Serializer 对象