使用Facebook Business Manager API创建商务管理平台时遇权限错误
我之前在测试FB商务管理平台API的时候也踩过类似的权限坑,结合你给出的测试场景,给你几个针对性的排查方向:
确认Access Token的权限范围
创建商务管理平台必须要有business_management和ads_management这两个核心权限,你可以用FB的Token调试工具检查当前测试token的权限列表。如果权限缺失,需要重新给测试账号授权,授权时要明确勾选这两个权限,同时确保测试账号在你的应用测试用户组内。验证测试账号的角色权限
你的测试用户账号得是应用的管理员、开发者或测试员,另外如果指定了primary_page,这个测试账号必须是对应Page的管理员角色,否则会因为Page权限不足触发报错。更新API版本并核对参数完整性
你用的v2.7版本太老旧了,Facebook的API迭代频繁,旧版本的权限逻辑可能已经失效,建议换成最新的稳定版(比如v18.0)测试。另外检查vertical参数是不是完整的枚举值(你写的AD...看起来没写完,正确值应该是ADVERTISING这类完整字符串),参数格式或缺失有时候会被FB包装成权限错误返回。确保Postman请求格式正确
你在Postman里发起请求时,要选择form-data格式(和curl的-F参数对应),不要用JSON raw格式,因为这个API端点只接受multipart/form-data类型的请求。同时确认access_token参数已经正确传入,不管是放在表单参数里还是请求头里都可以。
给你一个规范的测试curl命令参考:
curl \ -F "name=Pomni Media" \ -F "vertical=ADVERTISING" \ -F "primary_page=YOUR_PAGE_ID" \ -F "timezone_id=1" \ -F "access_token=YOUR_VALID_TEST_TOKEN" \ "https://graph.facebook.com/v18.0/YOUR_TEST_USER_ID/businesses"
如果还是报错,一定要仔细看返回的错误详情(error字段里的message和code),根据错误码去官方文档里找具体的原因,能更快定位问题。
内容的提问来源于stack exchange,提问作者artgb

