使用 oauth2 从 Discord API 获取信息
Posted
技术标签:
【中文标题】使用 oauth2 从 Discord API 获取信息【英文标题】:Get Infos from Discord API using oauth2 【发布时间】:2020-12-07 15:17:17 【问题描述】:首先,我对 Angular 10.0 和 oauth2 非常陌生,所以我正在努力学习,如果听起来很愚蠢,请提前道歉。
我的目标是至少获得使用不和谐登录的人的用户名。为此,我使用this library
const authConfig: AuthConfig =
loginUrl: `https://discord.com/api/oauth2/authorize`,
tokenEndpoint: 'https://discord.com/api/oauth2/token',
redirectUri: `http://localhost:4200`,
clientId: 'myId',
scope: 'identify',
responseType: 'code',
strictDiscoveryDocumentValidation: false,
oidc: false,
disablePKCE: false
;
this.oauthService.configure(authConfig);
this.oauthService.tryLoginCodeFlow();
connect()
this.oauthService.initLoginFlow();
所以这部分工作得很好,我得到了 AccessToken,然后我尝试获取任何信息,例如:console.log(this.oauthService.loadUserProfile());
我收到此错误:加载用户信息时出错 TypeError: req.url is null
所以我想知道我是否必须做其他事情才能连接到 API 以从中获取信息,但我不知道我可能是什么。
最好的问候。
【问题讨论】:
【参考方案1】:我解决了我的问题,
discord API 的问题是它不使用 OpenId Connect。
但是我不得不使用 GET 请求来 apiLink+'/users/@me' 同时将我的 accessToken 设置为授权部分。
https://discord.com/developers/docs/resources/user#get-current-user
【讨论】:
以上是关于使用 oauth2 从 Discord API 获取信息的主要内容,如果未能解决你的问题,请参考以下文章
Discord API - 传回生成的 OAuth2 代码的随机“无效代码”错误
discord oauth2 api 调用返回“405:不允许的方法”