Uber 请求 API:无法获得 "request" 范围

Uber Request API: Unable to get "request" scope

每次我使用 /requests 端点向沙箱发出请求时,都会收到 "Missing scope: request" 错误。我已经双重检查并三次检查我在授权请求中请求的范围是否正确:

{'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'}

我已确认我正在使用与我的开发者帐户相同的帐户进行身份验证。

一个可能的问题,如果我查看开发人员控制台,它不会让我 select "request" 范围。该复选框被禁用。这可能是问题所在吗?我如何启用它?

我还能缺少什么?谢谢!

试试这个:

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

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

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

scope (optional) Space delimited list of grant scopes you would like to have permission to access on behalf of the user.

  • 您的范围请求参数应使用 scopes space 分隔 ,而不是逗号分隔!
  • 确保您发送的 HTTP GET 参数调用的是 scope,而不是 scopes!
  • 确保您 percent/URL encoding 发送的所有查询字符串参数!

默认情况下,请求范围仅在沙盒模式下工作。
要在生产模式下启用它,您必须使用 Uber Developers dashboard 中显示的联系表单向 Uber 请求访问权限,该表单特定于您在 Uber 上创建的应用程序。