Uber API 端点无法与真正的服务器域一起工作,但与沙箱一起工作得很好

Uber API endpoints not working with real server domain but working well with sandbox

我已经测试优步 API 一个月了,最近我看到了一些不稳定的行为。

在我的代码中,有一些来自 Uber 端点的异常响应 return。现在我在下面粘贴我的代码的屏幕截图:

你可以看到我有一个全局字符串类型变量"baseURL",我一直在真实服务器和沙箱之间切换它,如下所示: “https://api.uber.com/v1" and "https://sandbox-api.uber.com/v1

但是从我的测试结果来看,我可以看出大多数 API 在沙箱中工作得很好,但是当我切换到真实服务器域时,我测试过的所有那些都没有工作.

更新: 对于沙箱环境,/v1/estimates/time 也不起作用。它将 return 401。 我的请求url是这样的: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/)。但是这个屏幕截图是我切换到真实服务器时拍摄的(沙箱使用相同的代码没有问题)。

它 returned: "Method not supported for this endpoint." / "method_not_allowed"405 code.

2) POST /v1/requests

与真实服务器(沙盒运行良好)的行为相同,如下所示,它还 returned "invalid OAuth 2.0 credentials provided." / "unauthorized"405 code。但我确定我可以使用相同的凭据在沙箱中发出请求。

3) GET /v1/estimates/time

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

请帮忙,非常感谢!

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

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