0

我已经测试 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

我确信“POST”是 Uber API 文档所建议的(https://developer.uber.com/v1/endpoints/)。但是这个屏幕截图是在我切换到真实服务器时拍摄的(沙箱使用相同的代码没有问题)。

它返回:"Method not supported for this endpoint."/ "method_not_allowed"with 405 code

在此处输入图像描述

2)POST /v1/requests

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

在此处输入图像描述

3)GET /v1/estimates/time

即使是这个 API,它也不需要访问令牌,但仍然返回"No authentication provided."/ "unauthorized"with 401 code。请注意,它适用于沙箱,但不适用于真实服务器。

在此处输入图像描述

请帮忙,非常感谢!

4

1 回答 1

1

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

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

于 2015-08-17T18:21:23.620 回答