我已经测试了一个月的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

ios - Uber API端点不适用于实际服务器域,但可以与沙箱一起很好地使用-LMLPHP

2)POST /v1/requests

与真实服务器相同的行为(沙盒效果很好),如下所示,并且还返回了"invalid OAuth 2.0 credentials provided." / "unauthorized"405 code。但是我确定我可以使用相同的凭据在沙箱中发出请求。

ios - Uber API端点不适用于实际服务器域,但可以与沙箱一起很好地使用-LMLPHP

3)GET /v1/estimates/time

即使是此API,它也不需要访问令牌,但仍会通过"No authentication provided."返回"unauthorized" / 401 code
请注意,它对于沙盒很好用,但对于真实服务器却不起作用。

ios - Uber API端点不适用于实际服务器域,但可以与沙箱一起很好地使用-LMLPHP

请帮助,非常感谢!

最佳答案

每个人都可以在沙盒环境中使用Uber API Request端点,但是在生产环境中使用它需要将其列入白名单。您可以在Uber支持页面https://developer.uber.com/support/上将您的应用列入白名单。

对于/ v1 / estimates / time端点,生产中需要服务器令牌或访问令牌,但是对此不需要白名单。

10-08 08:39
查看更多