我已经测试了一个月的Uber API,最近发现了一些不稳定的行为。
在我的代码中,Uber端点返回了一些异常响应。现在,我将代码粘贴在下面的屏幕截图中:
您可以看到我有一个全局字符串类型变量“ baseURL”,我一直在真实服务器和沙箱之间进行切换,如下所示:
“ https://api.uber.com/v1”和“ https://sandbox-api.uber.com/v1”
但是从测试结果可以看出,沙箱中的大多数API都能很好地运行,但是当我切换到真实服务器域时,我测试过的所有API都根本无法正常工作。
更新:
对于沙盒环境,/v1/estimates/time
也不起作用。它将返回401
。
我的请求网址是这样的:https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539
。
1)POST /v1/request/estimate
我确定Uber API文档建议使用(https://developer.uber.com/v1/endpoints/)。但是此屏幕快照是在我切换到真实服务器时拍摄的(沙盒对于相同的代码没有问题)。
它返回:"Method not supported for this endpoint."
/ "method_not_allowed"
和405 code
。
2)POST /v1/requests
与真实服务器相同的行为(沙盒效果很好),如下所示,并且还返回了"invalid OAuth 2.0 credentials provided."
/ "unauthorized"
和405 code
。但是我确定我可以使用相同的凭据在沙箱中发出请求。
3)GET /v1/estimates/time
即使是此API,它也不需要访问令牌,但仍会通过"No authentication provided."
返回"unauthorized"
/ 401 code
。
请注意,它对于沙盒很好用,但对于真实服务器却不起作用。
请帮助,非常感谢!
最佳答案
每个人都可以在沙盒环境中使用Uber API Request端点,但是在生产环境中使用它需要将其列入白名单。您可以在Uber支持页面https://developer.uber.com/support/上将您的应用列入白名单。
对于/ v1 / estimates / time端点,生产中需要服务器令牌或访问令牌,但是对此不需要白名单。