首页 > 解决方案 > Discord OAuth 在请求中返回缺少的“代码”

问题描述

我正在尝试使用一个简单的示例从 Discord API 获取访问令牌。我有授权码,但我正在努力将其交换为访问令牌。

到目前为止我的代码:

const code = **my authorization code**;
const CLIENT_ID = **my client id**;
const CLIENT_SECRET = **my client secret**;
const creds = btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
fetch(`https://discordapp.com/api/oauth2/token?grant_type=authorization_code&code=${code}&redirect_uri=${redirect}`,
  {
    method: "POST",
    headers: {
      Authorization: `Basic ${creds}`,
  },
})
  .then((res) => res.json())
  .then((body) => console.log(body));

但是,当我运行此代码时,出现以下错误:

{
   error: 'invalid_request',
   error_description: 'Missing "code" in request.'
}

标签: node.jsoauth-2.0oauthdiscorddiscord.js

解决方案


我知道如何解决这个问题。所以 Discord API 已经更新,您不能再在 URL 中指定代码、授权类型和重定向 URI。您需要将其从 URL 中删除并将其放入正文中。

这应该可以解决它:https ://sourceb.in/BGWsbUzope


推荐阅读