簡體   English   中英

discord api 將用戶添加到公會

[英]discord api add user to guild

嗨,我正在嘗試使用 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",
    }
  });

控制台.log(resp)

在此處輸入圖像描述

一切似乎都在工作,我可以獲得用戶頭像,姓名等,但無法將他添加到公會,任何人都可以幫助我,請

您提供的授權無效 header。 由於您正在進行正常的 OAuth2 調用,因此您不能使用帶有bot前綴的訪問令牌。 相反,您需要提供 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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM