Discord OAuth2从确切的公会获得用户角色



我使用不和谐的OAuth2chrome扩展认证。我得到用户access_token,并希望使用它来获得实际用户在我的服务器上的角色。我尝试使用https://discordapp.com/api/v6/users/@me/https://discordapp.com/api/v6/users/@me/guilds,但它只给我关于用户服务器的信息。我还可以获得有关该用户角色的信息吗?我该怎么做呢?

可以访问角色ids通过/users/@me/guilds/{guild。id}/member API具有guilds.members.read作用域和OAuth2,但不认为您可以获得实际的角色对象。我想我可以调用/guilds/{guild。id}/roles获取角色列表并解析id,但这个线程建议它只对bot可用,而不是OAuth2

编辑:在我争先恐后地弄清楚如何解决role_id时,我发现您可以在不和消息输入表单中使用快捷方式<@&[role_id]>来找出role_id实际指的角色名称。

要获取有关用户所在的公会和用户所在的角色的信息,您可能需要查看Discord的文档。我不能100%确定你是否可以通过OAuth2获得有关用户角色的信息,但这是我发现的。

公会作用域返回部分公会信息

允许/users/@me/guilds返回基本信息关于所有用户的公会

就像上面所说的文档一样,它返回基本信息,这可能不包括用户的角色,但只包括所有的公会角色,而不包括用户拥有的角色。

{
"id": "80351110224678912",
"name": "1337 Krew",
"icon": "8342729096ea3675442027381ff50dfe",
"owner": true,
"permissions": "36953089",
"features": ["COMMUNITY", "NEWS"]
}

不确定guilds范围是否返回比完整的公会结构更多的信息

我建议回显/记录从该作用域获得的信息。

不确定这是否有帮助,但这个链接有关于如何获得公会用户列表,搜索用户或获取特定用户的更多信息的官方不协调文档,通过oath2并从端点请求信息。官方不和(get-guild-member)

值得注意的是,我个人使用GET请求/guilds/{guild.id}/members来获取该帐户所属的公会内的用户列表。

我相信,这要么返回服务器内的角色与列表,或者如果这是不包括在内,你可以采取id,要么搜索用户与该id,或请求/guilds/{guild.id}/members/{user.id}更多的信息,以获得尽可能多的信息,因为不和谐有一个特定的用户在公会内可用。

同样值得注意的是,我在401:未授权错误中遇到了同样的问题。解决这个问题的方法是确保你有正确的成员,以及在你的discord应用程序中列出的公会意图。

最新更新