Discord API 尝试获取公会角色时出现 401 未经授权的错误

Discord API 401 Unauthorized Error when trying to get guild roles

所以我想做的是为我的机器人创建某种仪表板,我想获得当前的公会角色。当我尝试这样做时,我得到 {'message': '401: Unauthorized', 'code': 0} 作为响应。我尝试了所有方法并查看了多个问题以及 github

上的问题
json.loads(discord_oauth.discord.get(f"/api/guilds/{server}/roles", headers={"Authorization": "client-secret-here"}).content)

如果你问我为什么不把 Bearer 放在我的客户机密前面,那是因为我正在使用的库已经把它放在前面了。所以 header 会 return 像这样: {"Authorization": "Bearer client-secret-here" (我也试过放那个但也没用)

我也尝试用 requests.get() 来做,但也没用。我总是得到 {'message': '401: Unauthorized', 'code': 0} 作为回应。我该如何解决这个问题?

(此代码仅在我尝试获取公会频道和公会角色时不起作用。它适用于公会和用户信息)

我的范围是:["公会"、"身份"]

HTTP 401 响应始终是授权错误,告诉您您没有提供正确的凭据,或者您的凭据已过期。

您是否从 Discord 获得了客户端令牌?如果是这样,您是否使用 Discord REST API documentation 为机器人提供的语法?根据我所看到的,您的行应该类似于:

token = 'MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs'
headers = {"Authorization": f"Bot {token}"}
result = discord_oauth.discord.get(f"/api/guilds/{server}/roles", headers=headers).content
data = json.loads(result)

如果您已按照这些说明进行操作但仍然收到 401 错误,我敢打赌您的凭据无效,这意味着令牌已被撤销。这意味着您应该获得一个新令牌。