登录开始免费试用
Meta Tech Provider

WhatsApp 错误 3:功能或权限问题

错误代码 3 表示调用端点的应用缺少该端点所需的功能或权限。Meta 的描述是“Capability or permissions issue.”,Graph API 将其命名为 API Method。解决方法是用访问令牌调试器查看令牌已获授予的权限,再补上端点所需的那一项。

3

Meta 对“Capability or permissions issue.”使用的错误代码。

API Method

Graph API 错误处理指南为代码 3 给出的名称。

2 permissions

whatsapp_business_management 和 whatsapp_business_messaging,是大多数 WhatsApp 端点需要的两项权限。

WhatsApp 错误代码 3 是什么意思?

它表示请求已通过身份验证,但应用无权执行它所请求的操作。

Meta 在 Cloud API 参考文档中,把代码 3 列为授权类错误,详细说明为“Capability or permissions issue.”。Cloud API 沿用的 Graph API 错误处理指南,则把同一个代码称为 API Method,并提示要确认应用具备该调用所需的功能或权限。

也就是说,令牌本身是可用的。问题不在身份,这正是它与代码 0 和 190 的区别。问题出在令牌被允许访问哪些内容。

如何查看令牌拥有哪些权限?

使用访问令牌调试器,或使用 debug_token 端点,两者返回的信息相同。

响应的 scopes 属性中会列出已授予的权限。请把这份列表与失败端点的参考页面对照,因为每个端点的参考文档都会注明它所需的权限。

对于 WhatsApp,两项权限几乎涵盖所有场景。账户元数据、模板、号码列表、分析数据和账户 Webhook 需要 whatsapp_business_management。发送任何消息,以及接收消息和状态 Webhook,则需要 whatsapp_business_messaging。只持有其中一项的令牌,在需要另一项的调用上会失败。

为什么合作伙伴应用会遇到错误 3,而直接开发者不会?

因为为其他企业提供服务的合作伙伴,多了一道关卡。

Meta 的权限指南指出,如果合作伙伴的客户通过其应用访问自己的数据,该合作伙伴必须通过 App Review,并为应用所需的每项权限取得 Advanced 访问权限。只处理自家业务数据的直接开发者,则不需要 App Review 或 Advanced 访问权限。

因此,同一段代码在开发者自己的账户上可能运行正常,在客户的账户上却会失败。出现这种情况时,要问的不是令牌缺少哪项权限,而是应用是否已获批准,可以对不属于自己的资产使用该权限。

常见错误

  • 生成权限范围相同的新令牌。权限相同的新令牌,会在同一个地方失败。
  • 在应用设置中查看权限名称,而不是查看令牌本身。真正起作用的是令牌被授予的权限。
  • 只用自己的账户测试。合作伙伴应用必须先取得 Advanced 访问权限,客户账户才会接受调用。
使用 EasyCoexistence 完成这些操作

EasyCoexistence 通过 Meta 自己的 Embedded Signup 流程连接每个号码,企业在接入时就授予所需权限,之后可在控制台中随时查看连接状态。

常见问题

错误 3 是我的电话号码出了问题吗?

不是。它涉及的是应用令牌被允许做什么。请求被拒绝之前,系统不会检查号码。

错误 3 和错误 10 有什么区别?

代码 3 表示功能或权限问题。代码 10 表示某项权限未被授予或已被移除。两者都通过检查令牌的权限范围来解决。

发送消息需要哪项权限?

whatsapp_business_messaging。Meta 的权限指南指出,发送任何类型的消息都需要它。

重试有用吗?

没有用。令牌的权限不会在两次尝试之间改变,所以结果相同。

继续阅读

准备开始了吗?

几分钟即可设置 WhatsApp Coexistence,而不是几个月。应用会继续在手机上运行。

开始免费试用

验证时间

WhatsApp 错误 3:功能或权限问题