【问题标题】:How to get user id from oauth on discord如何从不和谐的oauth获取用户ID
【发布时间】:2019-05-31 10:31:32
【问题描述】:

你好,所以我设置了一个不和谐的应用程序和 OAUTH 登录。我需要获取用户 ID,但无论我尝试什么都有问题。我读了this,但这对我来说没有任何意义。它如何知道它是什么用户。 它说“401:未经授权”我应该怎么做才能授权。 我也得到了访问令牌;刷新令牌 谢谢

【问题讨论】:

    标签: oauth-2.0 discord


    【解决方案1】:

    我遇到了同样的问题,只是想出了解决方案!

    成功接收访问令牌后,您需要向以下端点执行 http 请求:

    https://discordapp.com/api/users/@me

    标题设置为:

    Authorization: Bearer ${ACCESS_TOKEN}

    然后您应该会收到以下响应:

    data: {
        avatar: ....,
        discrimnator: ....,
        email: ....,
        flags: ....,
        id: ....
    }
    

    您还将获得一些其他数据点。但那些是大的。注意:如果您在收到访问令牌时将其包含在范围内,您只会收到电子邮件字段。您可以使用从此调用中收到的 id 来访问 Discord 文档中引用的 users/:userId 端点。

    如果您有兴趣,这是我的实际代码:

    fetchUser: (data) =>
          axios
            .get(
              `https://discordapp.com/api/users/@me`,
              {headers: {Authorization: `Bearer ${data.access_token}`}}
            )
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-09
      • 2021-04-05
      • 2017-09-18
      • 2019-04-14
      • 2021-08-04
      • 1970-01-01
      • 2020-10-09
      • 2022-09-29
      相关资源
      最近更新 更多