discord api将用户添加到公会
Posted
技术标签:
【中文标题】discord api将用户添加到公会【英文标题】:discord api add user to guild 【发布时间】:2021-06-03 02:41:16 【问题描述】:您好,我正在尝试使用 discord api 在用户登录时将其添加到公会。但我得到 401 Unauthorized 我不知道为什么。 这是我的代码:
const data = new FormData();
data.append("client_id", CLIENT_ID);
data.append("client_secret", CLIENT_SECRET);
data.append("grant_type", "authorization_code");
data.append("redirect_uri", `http://localhost:3000/callback`);
data.append("scope", "identify,guilds.join");
data.append("code", req.query.code);
var response = await fetch("https://discord.com/api/oauth2/token",
method: "POST",
body: data
);
const json = await response.json();
var resp = await fetch(`https://discord.com/api/guilds/813847215058845708/members/463696108766494730`,
method: "PUT",
headers:
"Authorization": `Bot $json.access_token`,
"Content-Type": "application/json",
);
console.log(resp)
一切似乎都在工作,我可以获取用户头像,姓名等,但无法将他添加到公会,任何人都可以帮助我,plz
【问题讨论】:
该用户是机器人还是人? 这是一个用户,当他们登录我的仪表板时,我正在尝试添加该用户 请不要用discord.js
标记Discord API 问题,它们非常不同
【参考方案1】:
您提供的授权标头无效。您不能使用带有 bot
前缀的访问令牌,因为您正在进行正常的 OAuth2 调用。相反,您需要提供 Discord-API 返回的令牌类型。
改变
headers:
"Authorization": `Bot $json.access_token`,
"Content-Type": "application/json",
到
headers:
authorization: `$json.token_type $json.access_token`
此外,您传递范围的方式似乎也不正确。试试
data.append("scope", "identify guilds guilds.join");
【讨论】:
还是一样 还是一样 @BrunoGod 再次编辑。如果这也不起作用,我没有想法。我刚刚测试过,它对我有用。 是的,同样的事情。我不知道为什么这对我不起作用。我知道这听起来很奇怪,但你能把你的代码发给我吗?以上是关于discord api将用户添加到公会的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Discord API 返回错误 405 以向公会添加斜杠命令?