node.js - 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.'
}
解决方案
我知道如何解决这个问题。所以 Discord API 已经更新,您不能再在 URL 中指定代码、授权类型和重定向 URI。您需要将其从 URL 中删除并将其放入正文中。
这应该可以解决它:https ://sourceb.in/BGWsbUzope
推荐阅读
- mysql - Mysql日期格式的转换(DD-MM-YYYY TO YYYY-MM-DD)
- groovy - Cucumber 场景大纲 - 执行流程
- php - 将当前日期时间插入到自定义 wordpress 日期时间列
- java - 使用 volatile 更新和交换 HashMap
- google-distancematrix-api - 使用地址与坐标的不同响应
- javascript - graph.addCell 和 graph.insertVertex 之间的主要区别是什么?
- javascript - Jquery append() 函数在 IE11 中失败
- javascript - 无法解决错误 ProgressPlugin TypeError: Cannot read property 'tap' of undefined
- excel - 如何通过 VBS 将宏导入 Excel
- java - 如何使用POI取消word段落中西文间距的自动调整