求助:如何通过Facebook API为合作伙伴授予商务资产访问权限?
解决Facebook API授予商务资产合作伙伴访问权限的问题
核心结论
ChatGPT的说法是正确的:必须先将目标用户添加到你的Business Manager(商务管理平台),才能使用page-id/assigned_users等API分配资产权限。你遇到的两个报错,根源都是用户未与你的BM关联。
具体操作流程
1. 先将用户添加到Business Manager
这一步是前置必要条件,否则所有资产分配API都会报错。调用BM的用户添加API时,必须使用用户的Business Scoped ID(业务范围ID),而非app-scoped ID(这是你第一个报错的核心原因)。
示例请求(以v18.0版本为例):
POST /v18.0/{你的商务管理平台ID}/users HTTP/1.1 Host: graph.facebook.com Content-Type: application/json { "user": "目标用户的Business Scoped ID", "role": "EDITOR" # 可根据需求选择ADMIN/EDITOR等角色 }
2. 分配页面(或其他商务资产)权限
用户成功加入BM后,再调用page-id/assigned_users API,此时使用用户的Business Scoped ID即可。
示例请求:
POST /v18.0/{目标页面ID}/assigned_users HTTP/1.1 Host: graph.facebook.com Content-Type: application/json { "user": "目标用户的Business Scoped ID", "tasks": ["ADVERTISE", "MODERATE"] # 按需指定权限任务 }
报错针对性排查
- "app-scoped id无效": 你传入的是应用范围ID,而BM相关API只认Business Scoped ID。可以通过调用
/{你的商务管理平台ID}/users接口,获取BM内所有用户的有效ID;或让用户在BM后台查看自己的业务ID。 - "此ID未关联商务管理平台": 目标用户还未被添加到你的BM,先完成第一步的添加操作。
关键注意事项
- 确保你的应用已获得
business_management、pages_manage_metadata等必要权限,且通过Facebook的应用审核。 - 始终使用Graph API的最新稳定版本(如v18.0),旧版本可能存在权限逻辑差异。
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

