【发布时间】:2023-01-14 18:31:56
【问题描述】:
我正在尝试使用 reddit api 代表用户发送私人消息。但是我无法完成 Oauth2 授权以获取访问令牌。
我在这里遵循指南:https://github.com/reddit-archive/reddit/wiki/OAuth2
我已经创建了一个 reddit 开发者应用程序,并且正在执行代码流程步骤。从 authorization 端点获取 code 后,我发出以下请求以将代码交换为访问令牌。
curl --location --request POST 'https://www.reddit.com/api/v1/access_token' \
--header 'User-Agent: *******' \
--header 'Authorization: Basic *******' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=*******' \
--data-urlencode 'redirect_uri=http://localhost:1410/'
但是我得到的不是访问令牌,而是以下错误:
{
"message": "Bad Request",
"error": 400
}
知道我做错了什么吗?
【问题讨论】:
-
我猜你的 Auth 标头是正确的,否则你会看到 401 而不是 400。我也猜 redirect_uri 是正确/可接受的,因为你通过了授权步骤而没有错误。我会尝试的一些事情是:删除 User-Agent 标头而不是对参数进行 urlencoding。真的,那些只是猜测。除了对该 http 状态代码的一般理解之外,我在该指南中没有发现任何表明您做错了什么的文档,也没有关于 400 响应在这里意味着什么的文档。
标签: rest oauth access-token reddit reddit-access-token