【问题标题】:Uber Api Unauthorized accessUber Api 未经授权的访问
【发布时间】:2016-08-12 15:31:06
【问题描述】:

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

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

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

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

Screen shot Image

谢谢...

【问题讨论】:

    标签: authorization uber-api


    【解决方案1】:
    • 您是使用 Production 还是 Sandbox Uber API 来发送乘车请求?

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

      对于生产,您需要通过按“授权”选项卡中“请求”范围之外的“请求完全访问”按钮在 Uber Developers Dashboard 内发送审查请求。

    • 如果您使用沙盒 API 并获得 401 未经授权的 HTTP 响应状态代码,则这意味着您发送到 POST /v1/requests 端点的不记名令牌尚未被授予“请求”范围。
      • 确保访问令牌已被授予“请求”范围,位于step 1 of the OAuth2 authentication flow
      • 确保您发送的是 Bearer 令牌,而不是乘车请求的服务器令牌。
        (乘车请求应包含“授权:Bearer token_here” 标头,而不是“授权:令牌 token_here”)
      • 确保 Bearer 令牌仍然有效(尚未过期,或未被同一 Uber 用户的其他登录信息无效)
      • 确保您在请求中发送强制参数:即 start_latitude/start_longitude 或 start_place_id

    另见this answer

    【讨论】:

    • 是的,我正在使用 Sandbox Uber API,我遵循了与您提到的相同的产品,但仍然得到相同的 401 未经授权的响应
    • 按照您的回答后,我注意到访问令牌没有被授予“请求”令牌。它已被授予一般范围,但没有任何特权范围。正如我在我的问题中提到的,我无法从开发者控制台启用特权范围(请参阅我的问题中的图片链接)。
    • 是的,我现在明白了。需要找出原因。非常感谢您提供的信息。
    【解决方案2】:

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

    最好, 里奇

    【讨论】:

    • 我们的应用程序尚未准备好投入生产。我们仍在开发中
    • 然后您可以使用与应用关联的开发者帐户测试请求范围
    • @RichardArtoul 我正在尝试使用我自己的帐户(与应用程序关联的开发人员)叫车。我仍然收到回复说未经授权。我错过了什么吗?
    • 你是如何获得访问令牌的?
    猜你喜欢
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    相关资源
    最近更新 更多