我一直在使用我为Uber API时间和价格估算积分的离子应用程序。我已经在uber开发者工作室注册了我的应用程序,并且包含了server_token 请求如下所示。大约一个月或两个月前,我的应用程序正常运行,但现在我的401未经授权而且#34;未提供身份验证。"错误。当我采取相同的 带有服务器令牌的URL并复制并粘贴到新的浏览器窗口中我可以通过估算获得响应。我错过了什么吗?这些对我来说比较早,我没有记录用户 进入优步只是想得到一般的价格/时间估计。我没有为应用程序设置任何通用范围,因为我认为只有OAuth需要这些范围。我是否还需要为估算API调用请求这些?
https://api.uber.com/v1/estimates/price?start_latitude=%2033.8075191&start_longitude=-84.3750251&end_latitude=33.8092502&end_longitude=%20-84.36099030000003&server_token=<SERVER_TOKEN>
以下是我用来调用API网址的代码块
var uberPricePromise = $http.get(createUberUrlForMetric('price'))
.then(function (response) {
var uberPrices = response;
// format price from Uber for the view
}, function (error) {
console.log(error);
});
function createUberUrlForMetric(metric) {
return 'https://api.uber.com/v1.2/estimates/' + metric + '?start_latitude= ' + PlacesService.currentLocation.lat +
'&start_longitude=' + PlacesService.currentLocation.lng +
'&end_latitude=' + $scope.place.geometry.location.lat() +
'&end_longitude= ' + $scope.place.geometry.location.lng() +
'&server_token=<SERVER_TOKEN>;
}
答案 0 :(得分:0)
Uber API版本1.0已弃用于估算端点,您可以使用v1.2而不是这里是获取估算值的示例代码段 更多信息可以在here
找到估计端点可以与server_token或承载令牌一起使用
使用server_token
:
curl -H 'Authorization: Token <SERVER_TOKEN>' \
-H 'Accept-Language: en_US' \
-H 'Content-Type: application/json' \
'https://api.uber.com/v1.2/estimates/price?start_latitude=37.7752315&start_longitude=-122.418075&end_latitude=37.7752415&end_longitude=-122.518075'
使用用户access token
:
curl -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' \
-H 'Accept-Language: en_US' \
-H 'Content-Type: application/json' \
'https://api.uber.com/v1.2/estimates/price?start_latitude=37.7752315&start_longitude=-122.418075&end_latitude=37.7752415&end_longitude=-122.518075'
因此,为了让代码正常工作,您可能需要进行的更改是在Request Header中传递Server Token而不是HTTP GET param。