WhatsApp 错误 190:访问令牌已过期
错误 190 表示请求使用的访问令牌已过期或失效。每次调用都会以相同方式失败,看起来像是号码消失了。其实号码通常没有问题,出错的是凭据。
为什么令牌过期会像号码丢失?
因为每个请求都会失败,而且失败方式完全相同。
读取号码、检查连接状态、列出模板和发送消息会同时停止工作。从外部看,这与号码已从账户移除无法区分,而只使用一个凭据的集成也无法判断两者。很多人因此以为自己已断开连接,但事实并非如此。
两者的处理方式完全不同。凭据损坏时应更换凭据。号码被移除时则必须重新连接,这需要业务负责人和手机参与。
如何区分两种情况?
使用能够读取同一账户的第二个凭据。
EasyCoexistence 会为每个连接保存客户的令牌和自己的系统用户令牌。一个令牌被拒绝时,另一个令牌会读取 WhatsApp Business 账户,从而确认究竟是哪一个出了问题。客户令牌被拒绝,但第二个令牌仍能读取,说明凭据已过期而号码正常。两者都失败,则说明号码本身可能发生了变化。
没有第二个读取凭据时,唯一的区分方法是请业务负责人检查,而这正是监控应该避免的中断。
令牌为什么会失效?
原因有多种,而且大多数并非有意为之。
令牌有有效期限,会自行过期。Meta 账户密码变更会使令牌失效。在业务设置中移除应用访问权限也会导致失效,Meta 认定令牌已遭泄露并撤销时同样如此。这些情况通常不会提前发出警告,也无法从手机上的 WhatsApp Business 应用中看到。
因此,令牌有效性应纳入监控,而不是只交给错误处理程序。错误处理程序发现问题时,发送通常已经失败。
常见错误
- 重新连接号码。如果问题出在令牌,重新连接只会让业务负责人执行本来不需要的操作。
- 把它当作间歇性问题并重试。失效的令牌不会自行恢复。
- 只依赖一个凭据。只有一个令牌时,无法区分凭据失败和号码丢失。
EasyCoexistence 为每个连接保存两个令牌,因此能诊断被拒绝的凭据,而不是猜测原因,并会降级出问题的令牌,不会丢弃号码。
常见问题
号码还能使用吗?
通常可以。WhatsApp Business 应用不受影响,号码本身也没有损坏。停止的是 API 访问。
错误 0 是同一回事吗?
实质上是。Meta 会根据端点,在这两种代码下报告相同情况。
重新连接能解决问题吗?
可以,但这是用繁重办法处理简单问题,而且需要业务负责人和手机;新凭据就能解决。
可以让令牌永不过期吗?
系统用户令牌可以长期有效,这也是保存第二个令牌有用的原因之一。
继续阅读
准备开始了吗?
几分钟即可设置 WhatsApp Coexistence,而不是几个月。应用会继续在手机上运行。
开始免费试用验证时间