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

WhatsApp集成问题:获取access_token时redirect_uri不匹配报错

解决WhatsApp嵌入式注册获取access_token时的redirect_uri不匹配问题

问题根源

OAuth授权流程的核心规则是:获取授权码(code)时使用的redirect_uri必须和兑换access_token时的完全一致,哪怕参数顺序、大小写、末尾斜杠这类细微差异都会触发Error validating verification code错误。你用Facebook集成助手测试时,系统自动使用的是平台内部回调地址,和你实际业务场景的需求不匹配,这是问题的核心。

修复步骤

  • 配置正确的重定向URI
    进入Facebook开发者后台,找到你的应用:

    1. 进入「产品」→「WhatsApp」→「嵌入式注册」,设置Redirect URI为你的业务系统回调地址(比如https://your-domain.com/whatsapp/callback)。
    2. 同时在「设置」→「基本」里确认隐私政策URL已配置,再到「OAuth设置」→「有效的OAuth重定向URI」中添加相同的回调地址(必须精确匹配协议、域名、路径,测试环境的localhost地址也要按格式添加)。
  • 发起授权时指定统一的redirect_uri
    在你自己的业务页面触发WhatsApp嵌入式注册流程时,必须在授权请求中明确传入redirect_uri参数,值就是你刚配置的业务回调地址。比如调用嵌入式注册JS SDK时,确保参数包含redirect_uri: "https://your-domain.com/whatsapp/callback"。
    注意:集成助手的演示流程用的是Facebook内部回调,不能直接复用那个地址到你的业务代码里。

  • 兑换access_token时严格复用相同地址
    当你的回调地址收到用户授权返回的code后,调用/oauth/access_token接口时,必须使用和发起授权时完全相同的redirect_uri,不能添加额外参数或修改格式。

  • 排查细节问题

    • 检查大小写:HTTPS和https、Callback和callback会被视为不同地址。
    • 检查末尾斜杠:https://your-domain.com/callback/和https://your-domain.com/callback是不同的。
    • 确认code有效性:code是一次性且有10分钟有效期,重复使用或过期也会报错,但你的错误提示明确指向redirect_uri,优先排查前者。

正确请求示例

curl -X POST \
  'https://graph.facebook.com/v21.0/oauth/access_token' \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": "你的应用ID",
    "client_secret": "你的应用密钥",
    "code": "用户授权后返回的code",
    "grant_type": "authorization_code",
    "redirect_uri": "https://your-domain.com/whatsapp/callback"
  }'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:43:17