Uber API端点不能与真正的服务器域一起工作,但可以很好地与沙箱配合使用

我一直在testingUber API一个月,最近我看到一些不稳定的行为。

在我的代码中,Uber端点返回了一些不寻常的响应。 现在我在下面粘贴我的代码的屏幕截图:

你可以看到我有一个全局的stringtypesvariables“baseURL”,我继续在真实服务器和沙箱之间切换,如下所示:“ https://api.uber.com/v1 ”和“ https://sandbox-api.uber .com / v1 “

但是从我的testing结果来看,我可以说沙盒中的大多数API都能很好地工作,但是当我切换到真正的服务器域时,我testing过的所有这些都根本不起作用。

更新:对于沙箱环境, /v1/estimates/time也不起作用。 它会返回401 。 我的请求url是这样的: https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539 : 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文档build议的( 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." / 401 code "unauthorized" 。 请注意,它适用于沙盒,但真正的服务器失败。

在这里输入图像说明

请帮助,非常感谢!

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

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