Discord OAUTH2将用户添加到公会



我正在尝试向Discord API发出一个put请求,以便将用户添加到公会。这是我的代码:

app.get("/api/auth/joinguild", async (req: Request, res: Response) => {
try {
const body = new url.URLSearchParams({
"access_token": `${accessToken}`
})
const guild_id = "HIDDEN";
const user_id = "HIDDEN";
const botToken = "HIDDEN"
const response = await axios.put(`https://discord.com/api/v10/guilds/${guild_id}/members/${user_id}`,
body.toString(),
{
headers: {
Authorization: `Bot ${botToken}`,
'Content-Type': 'application/json',
},
});
res.send(await response.data)
} catch (err) {
res.send(await err);
}
});

我拥有的accessToken是正确的,因为我可以使用它来调用诸如https://discord.com/api/v10/users/@me

我通过以下请求解决了这个问题:

const response = await axios({
method: 'put',
url: `https://discord.com/api/v10/guilds/${guild_id}/members/${user_id}`,
data: {
"access_token": accessToken,
},
headers: {
Authorization: `Bot ${botToken}`,
'Content-Type': 'application/json',
},
});

它不起作用的原因是PUT请求的格式不正确。"数据"必须是JSON格式的,它被编码为url。

最新更新