无法刷新Reddit OAuth 2.0访问令牌

Pet*_*dec 9 reddit oauth-2.0

我无法刷新Reddit访问令牌.

当我发送以下请求时 https://ssl.reddit.com/api/v1/access_token

Content-Type: application/x-www-form-urlencoded
Authorization: #####
client_secret=#####&grant_type=refresh_token&client_id=#####&refresh_token=#####
Run Code Online (Sandbox Code Playgroud)

我得到状态,200但内容是{"error": "invalid_request"}.

根据OAuth 2.0规范Reddit规范,我做的一切都是正确的.

我也没试过client_id并且client_secret得到了相同的结果.

我错过了什么吗?

ink*_*ket 21

Reddit的OAuth实现非常独特(并且不是很好).

在reddit上刷新令牌的必要参数是:

  1. CLIENT_ID
  2. client_secret
  3. grant_type(= refresh_token)
  4. refresh_token
  5. 范围
  6. 持续时间
  7. REDIRECT_URI

您还需要基本的HTTP身份验证标头,其中client_id为login,client_secret为password.

我不得不查找reddit的源代码来弄清楚我的请求中缺少什么......在琐碎的事情上失去了很多开发时间.