dbe*_*ing 3 discord discord.py
我试图在/guilds/guild.id/channels检索用户的行会数据后调用端点,该数据是在使用 Discord 的 OAuth 流成功通过我的应用程序进行身份验证后提供的。
我的 OAuth 权限包括email和guilds。
收到 access_token 后,我可以拨打/users/@me/guilds. 但是,当我尝试迭代此操作以使用/guilds/guild.id/channels端点访问每个公会的频道列表时,我收到了一个{"message": "401: Unauthorized", "code": 0}. 我在此请求的标头中传递了相同的 access_token。
我的问题是关于使用 OAuth 进行身份验证时 Discord API 的限制。文档说
与正常的 OAuth2 流程不同,机器人帐户可以完全访问所有 API 路由,而无需使用不记名令牌
/guilds/guild.id/channels那么我可以使用我的 access_token进行 API 调用吗?
或者我必须通过机器人来完成此操作?如果需要机器人,那么这意味着为了调用/guilds/guild.id/channels机器人,必须首先将其添加到行会中,对吗?
我相信您错误地认为guildsOAuth2 范围将使您能够完全访问用户的行会。事实并非如此,guilds范围仅授予访问令牌权限以查看所有用户的公会列表以及这些公会的基本信息(公会ID、头像、名称、标志、用户的权限以及用户是否是所有者) 。
这不包括让您有权查看公会的频道。为您提供的唯一端点guilds范围是/users/@me/guilds您已经知道的。我认为这是出于用户隐私方面的考虑,因为它不必要地让您查看非相关公会的频道列表。大多数情况下guilds,作用域的使用是为了验证用户是否属于某个公会;对于机器人仪表板很有用。
检索频道列表的唯一方法要求您在公会中拥有一个机器人并使用该/guilds/<guild.id>/channels机器人来识别您的机器人。
要查看 OAuth2 范围实际授予您的内容,请参阅此处:https: //discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes。
| 归档时间: |
|
| 查看次数: |
4120 次 |
| 最近记录: |