遵循https://github.com/reddit/reddit/wiki/OAuth2中描述的OAuth2登录流程,我发布到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?
答案 0 :(得分:1)
我遇到了与您描述的完全相同的问题。就我而言,我通过在请求标头中添加 faux 用户代理字符串来解决403
。
在我的情况下,使用C#的HttpClient
,这样做会如此:
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("User-Agent", "MockClient/0.1 by Me");
...
}