You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

创建系统用户令牌时提示缺少business_management权限的技术咨询

解决创建系统用户令牌时的(#200)权限错误

看起来你遇到的问题核心是:明明是应用管理员,但访问令牌就是拿不到business_management权限,而同配置的另一款应用却能正常获取。结合Facebook Marketing API的规则,我整理了几个大概率的排查方向和解决步骤:

一、先理清权限的归属逻辑

别混淆应用管理员Business Manager角色business_management是针对商务管理平台(Business Manager)的权限,不是单纯的应用管理员权限。即使你是应用的管理员,如果在对应的Business Manager账户里没有被分配足够的角色,令牌依然会缺少这个权限。

二、具体排查步骤

1. 确认应用与Business Manager的关联状态

进入你的Business Manager后台,检查这款有问题的应用是否已经被正确添加到Business Manager中:

  • 若未添加,先把应用关联到Business Manager;
  • 若已添加,确认你在Business Manager中对该应用的角色是管理员编辑者(不是普通成员)。有时候应用管理员身份和Business Manager角色是独立的,必须两者都满足才能拿到权限。

2. 重新生成包含business_management的访问令牌

在Graph API Explorer里操作时,别忽略这个细节:

  • 先选中正确的目标应用;
  • 在权限列表里手动勾选business_management(默认不会自动包含所有权限);
  • 点击「Generate Access Token」重新生成令牌;
  • 生成后可以调用/me/permissions端点,检查返回结果里是否包含business_management权限。

3. 检查系统用户的权限配置(如果已创建系统用户)

如果是为已存在的系统用户生成令牌,要确保:

  • 该系统用户在Business Manager中被分配了目标应用的权限(进入Business Manager的「系统用户」页面,找到对应用户,添加目标应用并授予管理员权限);
  • 生成系统用户令牌时,使用的是拥有Business Manager管理权限的用户令牌来发起请求,而不是普通的应用令牌。

4. 对比两款应用的配置差异

既然另一款应用正常,不妨对比一下:

  • 两款应用在Business Manager中的关联方式是否一致;
  • 你在两款应用对应的Business Manager角色是否相同;
  • 生成令牌时的步骤(比如是否都手动勾选了权限)有没有差异。

5. 尝试绕过Graph API Explorer缓存

有时候Explorer的缓存会导致权限不更新,可以试试:

  • 退出Facebook账号重新登录Explorer;
  • 用curl命令手动生成用户令牌(替换成你的参数):
    curl -X GET "https://graph.facebook.com/v18.0/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&redirect_uri=https://developers.facebook.com/tools/explorer/&scope=business_management&response_type=token"
    

三、额外提醒

即使应用处于开发模式未过审核,只要你是Business Manager的管理员且关联了应用,就应该能拿到business_management权限(这个权限不需要提交审核,属于开发阶段可用的权限)。如果以上步骤都试过还是不行,可以尝试在Business Manager里移除应用再重新关联,或者提交Facebook的开发者支持工单。

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

火山引擎 最新活动