uber-api - UBER 无法完成 Oauth 流程
问题描述
我正在努力将 UBER API 集成到我的应用程序中。第一步顺利:创建一个授权 url,用户被重定向到 Uber,登录,接受共享所需的范围,然后 UBER 重定向到我在仪表板和授权 url 中提供的重定向 url。
然后我向 https://login.uber.com/oauth/v2/token发出 POST 请求以 获取访问令牌
这是我在这个 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 提供的值。
您在此处看到的范围与使用授权 url 发送的范围完全相同。
所以我们至少可以说显示的错误与导致问题的原因不对应,这对我来说仍然是个谜。
我将不胜感激任何帮助。
解决方案
这个问题的答案是令牌端点期望使用 aContent-Type = x-www-form-urlencoded
而不是 JSON 发出 POST 请求。UBER 的文档中没有记录它,我希望这是因为它让我日复一日地寻求解决方案。
推荐阅读
- jsp - 如何在单击 servlet 中的下一个和上一个按钮时显示数据库中的下一个和上一个详细信息
- go - 在 VS Code 中调试时如何评估表达式?
- javascript - 高效查询 Firebase 数据库子快照集
- python - 如何解析每秒实时更新的日志文件中的数据?
- javascript - 设置 cookie 并在多次访问时重定向未按预期工作
- go - Golang 模板顺序
- html - 使用 CSS 动画和背景颜色显示文本
- rest - 调整图像大小 tinypng 销售人员
- javascript - 如何提取对象元素以作为单个元素填充到数组中
- caching - Liferay 6.1,已删除文档版本中的资产标签出现在新版本中