【问题标题】:Discord Oauth2 Join GuildDiscord Oauth2 加入公会
【发布时间】:2019-05-26 11:54:08
【问题描述】:
const guildMembersResponse = fetch(`http://discordapp.com/api/guilds/440494010595803136/members/278628366213709824`,
            {
              method: 'PUT',
              headers: {
                Authorization: `Bearer TOKEN`,
              },
            });
            setTimeout(() => {
                console.log(guildMembersResponse)
            }, 500);

我想用他的用户 ID 和他在 nodejs 中的令牌将用户加入我的 Discord 服务器,但是如果我请求 Dicord api,我会收到一个错误:

Promise {
 Response {
  size: 0,
  timeout: 0,
  [Symbol(Body internals)]: { body: [PassThrough], disturbed: false, error: 
  null },
  [Symbol(Response internals)]:
  { url:
  'https://discordapp.com/api/guilds/440494010595803136/members/278628366213709824',
   status: 401,
   statusText: 'UNAUTHORIZED',
   headers: [Headers] } } }

我正在使用node-fetch 库!

【问题讨论】:

    标签: node.js express oauth-2.0 discord node-fetch


    【解决方案1】:

    401 错误意味着您没有为 oauth 链接提供正确的范围。在https://discordapp.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes 上阅读有关 Discord 的 OAuth 范围的更多信息。引用文档,您将需要 guilds.join 范围。

    此外,文档引用:

    guilds.joinbot 要求您将机器人帐户链接到您的应用程序。此外,为了将用户添加到公会,您的机器人必须已经属于该公会。

    因此,请确保您的应用满足上述要求。

    如果您已确保已按照上述步骤操作,但仍无法正常工作,则必须与我们共享 OAuth 链接以帮助您进一步调查

    【讨论】:

    • 是的,我已经有一个链接到我的应用程序的机器人帐户,并且我启用了 guilds.join 范围,但我仍然收到此错误。我应该使用我的机器人将用户加入服务器还是应该使用用户的令牌创建一个自我机器人并加入用户,或者我不知道
    • 你链接的bot是否与你想添加用户的公会应用程序?
    • 请看stackoverflow.com/questions/43269517/…。谈论 C#,但也应该对 JS 有所帮助
    • 是的,谢谢它的工作,但仍然得到一个错误,一个错误的请求错误。我将 Authorization 更改为 Bot BOT-TOKEN 并将 ContentType 更改为 application/json,您能告诉我需要在哪里添加用户的令牌吗?
    • 需要在正文中。请参阅我上面链接的问题。
    【解决方案2】:

    我只需要将标题中的“ContentType”替换为“Content-Type”!

    headers: {
      "Authorization": "Bot [botToken]",
      "Content-Type": "application/json",
    }
    

    【讨论】:

      【解决方案3】:

      您应该将用户令牌添加到正文中, 像这样:

      {
        method: 'PUT',
        access_token: "Bearer TOKEN"
        headers: {
          Authorization: `Bot TOKEN`,
      }
      

      用户令牌应该是这样的:TiaRZjWv5YAp80MpTFRkhi1GhXqddB

      【讨论】:

        猜你喜欢
        • 2020-12-04
        • 2020-12-02
        • 2021-11-29
        • 2018-05-11
        • 2021-06-03
        • 2022-08-09
        • 1970-01-01
        • 2021-09-26
        • 2019-02-01
        相关资源
        最近更新 更多