优步 Api 未经授权的访问

Uber Api Unauthorized access

我正在努力整合 Uber api。我无法使用访问令牌发出乘车请求,它说“提供的 OAuth 2.0 凭证无效

我能够获取个人资料和历史信息,但每当我提出乘车请求时,我都会收到回复“未经授权

在超级开发者帐户中,我无法启用请求范围,这可能是上述错误的原因。

这是优步开发者控制台的问题吗?如果不是,可能是什么原因以及如何解决它。

Screen shot Image

谢谢...

请求范围仅为白名单,这意味着您需要先提交您的应用以供我们的团队审核,然后我们才能将该范围发布到您的应用程序。话虽如此,如果您尝试使用与开发者平台中应用程序关联的 Uber 帐户通过应用程序的 OAuth 流程,您将能够请求 "request" 范围。

最好的, 里奇

  • 您是使用 Production 还是 Sandbox Uber API 发送乘车请求?

    优步API沙箱URL=https://api.uber.com/v1
    优步 API 生产 URL = https://sandbox-api.uber.com/v1

    对于生产,您需要在 Uber Developers Dashboard 中发送您的审核请求,方法是按“授权”选项卡中 "request" 范围旁边的 "REQUEST FULL ACCESS" 按钮。

  • 如果您正在使用沙盒 API 并且您收到 401 未经授权的 HTTP 响应状态代码,那么这意味着您发送到 POST /v1/requests 端点的 Bearer 令牌尚未被授予 "request"范围。
    • 确保访问令牌已被授予 "request" 范围,在 step 1 of the OAuth2 authentication flow
    • 确保您发送的是 Bearer 令牌,而不是用于乘车请求的服务器令牌。
      (乘车请求应包含 "Authorization: Bearer token_here" header,不是 "Authorization: Token token_here")
    • 确保 Bearer 令牌仍然有效(未过期,或未被同一 Uber 用户的另一次登录失效)
    • 确保您发送的是强制参数:即 start_latitude/start_longitude 或 start_place_id 以及您的请求

另见 this answer