Facebook Graph API:如何与客户企业建立On Behalf Of关系?
近期确实有开发者成功完成这类跨企业资产管理的关系搭建,你遇到的问题主要是因为Facebook已更新接口流程,原文档节点被替代,以下是你可能遗漏的关键步骤:
确认应用的权限与绑定状态
你的应用必须绑定到己方企业的Business Manager账户下,且通过Facebook的高级访问权限审核,核心权限包括ads_management、catalog_management、pages_manage_posts等,仅基础权限无法实现跨企业资产管理。使用系统用户令牌而非个人用户令牌
Facebook Login获取的个人用户令牌不支持跨企业的On Behalf Of操作,需在己方Business Manager中创建系统用户,给该用户分配应用的全部管理权限,再生成系统用户的长期访问令牌(有效期最长60天,可通过API刷新)。通过新接口发起资产共享请求
原/{business_id}/managed_businesses节点已被/{business_id}/asset_requests替代,正确流程为:- 让客户在其Business Manager中,将需管理的页面、商品目录、广告账户设置为可共享状态;
- 调用
/{business_id}/asset_requests接口,向客户的Business Manager发送ON_BEHALF_OF类型的资产共享请求; - 客户在其Business Manager后台的「请求」页面接受该请求,完成关系绑定。
验证令牌的权限覆盖范围
用debug_token工具校验系统用户令牌,确认包含business_management权限及目标资产的对应权限。若权限缺失,需重新给系统用户分配资产权限或重新生成令牌。确保使用最新API版本
必须采用v18.0及以上的API版本,旧版本接口已逐步下线,对应文档也不再适用。
补充:若客户未创建Business Manager账户,需先引导其完成账户创建与企业认证,否则无法建立跨企业资产托管关系。
内容的提问来源于stack exchange,提问作者akalpaki

