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

如何通过OAuth2获取Discord账号数据?拿到授权码后如何拉取用户信息

Discord OAuth2 获取用户信息操作步骤
  • 第一步:用回调获取的code兑换访问令牌
    你需要向Discord的令牌接口发起POST请求,请求携带以下参数:
    • client_id:你的Discord应用客户端ID
    • client_secret:你的Discord应用客户端密钥
    • grant_type:固定填写authorization_code
    • code:回调地址query参数中获取的code值
    • redirect_uri:必须和生成授权链接时填写的重定向地址完全一致,即你设置的https://bouncerbot.goatcode.it/index.html
    • scope:和授权时申请的权限范围保持一致,要获取用户基础信息必须包含identify权限
      请求头设置Content-Type: application/x-www-form-urlencoded,请求成功后会返回包含access_token、token_type、refresh_token在内的响应数据。
  • 第二步:使用访问令牌拉取用户数据
    拿到access_token后,向Discord的用户信息接口发起GET请求,请求头设置为Authorization: Bearer 替换为你获取到的access_token,接口返回的数据中就包含你需要的所有用户字段:
    • 用户名对应username字段
    • 用户唯一ID对应id字段
    • 头像哈希值对应avatar字段,可自行拼接为完整的头像资源地址
      如果你授权时申请了guilds权限,还能同时拉取该用户所属的全部服务器列表,正好可以用来匹配确认哪些服务器开通了你的付费订阅服务。
注意事项

回调返回的code有效期仅为10分钟,且只能使用一次,重复提交兑换请求会直接失效,需要引导用户重新授权获取新的code
client_secret属于核心敏感信息,所有涉及该参数的请求必须在后端服务执行,绝对不能写在前端页面代码中,避免被盗用导致应用被恶意操作
兑换得到的access_token默认有效期为7天,过期后可以使用同步返回的refresh_token进行刷新,无需用户重复授权登录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:27:03