【发布时间】:2017-06-19 22:13:50
【问题描述】:
按照https://github.com/reddit/reddit/wiki/OAuth2 中描述的 OAuth2 登录流程,我到了 POST-ing 到 https://www.reddit.com/api/v1/access_token 返回如下内容的地步:
{'token_type': 'bearer', 'expires_in': 3600, 'scope': 'identity', 'access_token': '*****'}
那我做
GET https://oauth.reddit.com/api/v1/me
有了这个标题:
Authorization: bearer *****
响应是 HTTP 403 Unauthorized。但为什么?很明显,访问令牌具有“身份”范围。还记录了 /api/v1/me 调用仅需要此范围。 (见https://www.reddit.com/dev/api/oauth#GET_api_v1_me)
那么为什么我会得到 http 403?
【问题讨论】:
-
表头格式很重要
Authorization: Bearer <Token> -
好的,抱歉。实际上我已经用 Python 中的 dict 设置了它。它确实包含冒号。我会解决这个问题。顺便说一句,文档用所有小写字母(“bearer”而不是“Bearer”)指定它,请参阅github.com/reddit/reddit/wiki/… 的末尾
-
嗯,现在它开始返回 403 禁止。也许它以前也回来了?我不确定。
-
@nagylzs 你解决了吗?
-
是的,我有。却说不出哪里错了。我在代码中更改了很多东西,最终它开始起作用了。