我正在努力将UBER API集成到我的应用程序中。 第一步很好:创建一个授权URL,将用户重定向到Uber,登录,接受以共享所需的范围,然后UBER重定向到我的重定向URL,如仪表板和授权URL中所提供。
那时候我向POST请求 https://login.uber.com/oauth/v2/token 获取访问令牌
这是我通过此URL发送给Uber的有效负载
{
"code": "obtained_from_redirection_url",
"client_id": "XXXXXXX",
"client_secret": "XXXXXXX",
"redirect_uri": "https://myredirection-url.me",
"grant_type": "authorization_code",
"scope": "all_trips history history_lite places profile request request_receipt ride_widgets"
}
响应始终是
{
"error": "unsupported_grant_type"
}
如您所见,grant_type: authorization_code 值是Uber提供的值。
您在此处看到的范围与通过授权网址发送的范围完全相同。
所以我们至少可以说显示的错误与导致问题的原因不符,这对我来说仍然是个谜。
我将不胜感激。
答案 0 :(得分:0)
这个问题的答案是令牌端点希望使用Content-Type = x-www-form-urlencoded
而不是JSON发出POST请求。
UBER的文档中没有记录它,我希望这是因为它使我日复一日地寻求解决方案。