oauth-2.0 - 如何从不和谐的oauth获取用户ID
问题描述
你好,所以我设置了一个不和谐的应用程序和 OAUTH 登录。我需要获取用户 ID,但无论我尝试什么都有问题。我读了这个,但这对我来说没有任何意义。它如何知道它是什么用户。它说“401:未经授权”我应该怎么做才能授权。我也得到了访问令牌;刷新令牌谢谢
解决方案
我有同样的问题,只是想出了解决方案!
成功接收访问令牌后,您需要向以下端点执行 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}`}}
)
希望有帮助!
推荐阅读
- reactjs - 当从浏览器输入 url 时,AWS 托管(s3,cloudfront)静态反应网站不会路由到子页面
- typescript - Express router.param 的不同行为取决于处理程序的位置
- uitableview - [Xamarin.iOS] 部分只有一行时如何重新加载部分?
- json - 在 Ada 中解析 json5/js 对象字面量
- c++ - 如何为我的类型正确专门化 std::swap?
- node.js - 如何使用 mocha/chai 设置 jwt cookie?
- command-line - “doxygen -s -g ini”中的“-s”是什么意思?有什么猜测吗?
- django - 创建新模型对象时,填充其中一个值
- javascript - 如何更新许多 Mongo 文档 Node.js 异步?
- r - R中的函数“sample”无法正常工作