我正在尝试使用facebook business API为第三方页面创建子业务经理。
我一直在关注文档,该文档提供了以下示例,作为如何创建子业务经理的示例。
curl \
-F 'id=<Parent Business Manager Id>' \
-F 'name=Advertisers child BM' \
-F 'vertical=OTHER' \ // Specify the Business vertical
-F 'shared_page_id=<PAGE_ID_FROM_USER>' \ //Optional parameter
-F 'page_permitted_roles=["ADVERTISER"]' \
-F 'timezone_id=1' \
-F 'access_token=<CLIENTS_ACCESS_TOKEN>' \
-F 'appsecret_proof=<APP_SECRET>' \
https://graph.facebook.com/<API_VERSION>/<PARENT_BM_Id>/owned_businesses
不幸的是,当我执行此请求时,出现以下错误:
(#12)从v3.3版开始,不支持在V3.3版本的两层终结点中基于角色的字段
我假设对应于v3.3发行说明中的以下内容:
在Business Manager API中弃用了基于role_field的allowed_role。以下端点受到影响:
POST {business-id}/owned_businesses.
看到我认为最好的做法是从请求中删除page_permitted_roles。不幸的是,这导致了以下错误:
共享页面访问权限时,参数
page_permitted_roles
或page_permitted_tasks
是必需的
我发现ADVERTISER
可能已从page_permitted_roles中弃用,因此我尝试使用ADMIN
,这导致了以下错误:
Param page_permitted_roles [0]必须为{MANAGER,CONTENT_CREATOR,MODERATOR,ADVERTISER,INSIGHTS_ANALYST}之一
哪个.....让我们回到起点。
我相当确定我使用的是正确的access_token,appsecret_proof等,但我想可能不是。我在使用来自business_manager范围的登录请求的访问令牌,我认为是正确的。
如果有人对此有任何见识,将不胜感激!
答案 0 :(得分:0)
好吧……答案有点古板。今天早上我尝试换个新的头时,我自己弄清楚了。
这是提示:
共享页面访问权限时,参数
page_permitted_roles
或page_permitted_tasks
是必需的
事实证明,使用page_permitted_tasks
可解决此问题。我正在使用
-F 'page_permitted_tasks=["ADVERTISE"]' \
这不会给我任何错误。