优步请求API:无法获得"请求"范围

时间:2016-02-10 20:34:08

标签: uber-api

每次我使用/ requests端点向沙箱发出请求时,我都会得到一个"缺少范围:request"错误。我已经仔细检查并三重检查我在auth请求中请求了正确的范围:

{'scopes': u'profile,history,request', 'redirect_uri': 'http://localhost:5000/submit', 'response_type': 'code'}

在回复中,我使用Auth令牌从服务器返回,它非常清楚地跳过了请求范围。

{u'last_authenticated': 1455088324, u'access_token': u'XX', u'expires_in': 2592000, u'token_type': u'Bearer', u'scope': u'profile history', u'refresh_token': u'XX'}

我已验证我使用同一帐户进行身份验证,即我的开发者帐户。

一个可能的问题,如果我查看开发者控制台,它不会让我选择"请求"范围。该复选框已禁用。这可能是问题吗?我该如何启用它?

我还能错过什么?谢谢!

2 个答案:

答案 0 :(得分:1)

正如authorize endpoint上的文档所说的范围参数:

  

范围(可选)您希望的空间分隔的授权范围列表   有权代表用户访问。

  • 您的范围请求参数应该scopes 空格分隔,而不是以逗号分隔!
  • 确保您发送的HTTP GET参数名为范围,而不是范围!
  • 确保您正在发送所有查询字符串参数percent/URL encoding

请求范围仅在默认情况下以沙盒模式运行 要在生产模式下启用它,您必须使用特定于您在优步上创建的应用的Uber Developers dashboard中的联系表单来请求Uber访问。

答案 1 :(得分:0)

试试这个:

1)以隐身模式打开浏览器 2)命中授权端点,但要确保将URL中的参数编码为查询参数 3)确保你用空格分隔你想要请求的范围,而不是逗号(我认为这是你遇到的主要问题)

如果您这样做,您应该看到一个授权屏幕,其中包含您要求的所有范围,其中一个应该是请求范围:)

相关问题