【问题标题】:Bad Request 400 when requesting Reddit OAuth2 token请求 Reddit OAuth2 令牌时错误请求 400
【发布时间】: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


【解决方案1】:

'我遇到过同样的问题。原来我在我的应用程序设置中选择了应用程序类型作为“脚本”,同时我正在执行不同应用程序类型(网络)的授权步骤 按照这个脚本: https://github.com/reddit-archive/reddit/wiki/OAuth2-Quick-Start-Example

【讨论】:

    【解决方案2】:

    同样的问题在这里。任何新闻? 你解决了这个问题吗?

    【讨论】:

    • 这篇文章看起来不像是试图回答这个问题。这里的每个帖子都应该是一个明确的尝试回答这个问题;如果你有批评或需要澄清问题或其他答案,你可以直接在它下面post a comment(就像这个)。请删除此答案并创建评论或新问题。见:Ask questions, get answers, no distractions
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    相关资源
    最近更新 更多