Google 脚本 API routexl 错误 409
Google Script API routexl error 409
我正在尝试制作一个脚本,在 routexl API 的帮助下计算出通过多个位置的最快路线。但是,我尝试的所有操作似乎都出现错误 409 Truncated 服务器响应。我的代码如下。
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 应用程序专家,但 RouteXL API 期望 "locations" 作为输入参数。在您的示例中,发布的位置 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);
}
我正在尝试制作一个脚本,在 routexl API 的帮助下计算出通过多个位置的最快路线。但是,我尝试的所有操作似乎都出现错误 409 Truncated 服务器响应。我的代码如下。
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 应用程序专家,但 RouteXL API 期望 "locations" 作为输入参数。在您的示例中,发布的位置 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);
}