You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Requests调用Discord API遇401未授权错误求助

Discord API 拉取成员返回401 Unauthorized 问题排查

你调用Discord API获取服务器列表正常,但执行拉小号进服务器的PUT请求时返回401,核心是两个接口的权限要求和调用规则有差异,以下是具体排查修复方向:

  • 权限范围不匹配:获取服务器列表仅需guilds权限,但拉人接口必须持有guilds.join权限。检查你的OAuth授权流程,确认授权时的scope参数包含guilds.join,如果没加,重新发起授权并补充该权限。

  • 服务器角色权限不足:持有令牌的主账号必须是目标服务器的管理员,或拥有管理成员和创建邀请的角色权限。登录Discord服务器,检查主账号的角色权限配置。

  • 缺失必填请求体参数:该PUT接口要求在请求体中传入小号的OAuth访问令牌(access_token字段),你的代码未传递这个参数,这是导致401的关键问题。修正后的代码示例:

    # Oauth.discord_api_url = "https://discord.com/api"
    # at = 主账号的有效访问令牌
    headers = {"Authorization": f"Bearer {at}"}
    guildid = "目标服务器ID"
    userid = "小号用户ID"
    urlguildy = f"{Oauth.discord_api_url}/guilds/{guildid}/members/{userid}"
    # 传入小号的OAuth访问令牌
    payload = {"access_token": "小号的访问令牌"}
    r = requests.put(url=urlguildy, headers=headers, json=payload).json()
    
  • 令牌有效性验证:虽然获取服务器列表正常,仍建议调用/users/@me接口验证主账号令牌是否未过期、状态正常。

内容的提问来源于stack exchange,提问作者Nonam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 22:10:55