业务管理器 owned_business 端点出错:在 v3.3 中弃用 role_based 字段 permitted_role
Error with business manager owned_business endpoint: deprecation of role_based field permitted_role in v3.3
我正在尝试使用 Facebook 业务 API 为第 3 方页面创建子业务经理。
我一直在关注文档,该文档提供了以下示例来说明如何创建子业务经理。
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) Deprecated role based field in two tier endpoints as of V3.3 is deprecated for versions v3.3 and higher
我假设对应于 v3.3 发行说明中的以下内容:
Deprecated the role_based field permitted_role in Business Manager API. The following endpoint is impacted: POST {business-id}/owned_businesses.
看到之后,我认为最好的办法就是从我的请求中删除 page_permitted_roles。不幸的是,这导致了以下错误:
The parameter page_permitted_roles
or page_permitted_tasks
is required when sharing page access
我认为 ADVERTISER
可能已从 page_permitted_roles 中弃用,所以我尝试使用 ADMIN
,这导致了以下错误:
Param page_permitted_roles[0] must be one of {MANAGER, CONTENT_CREATOR, MODERATOR, ADVERTISER, INSIGHTS_ANALYST}
这.....让我们回到起点。
我相当确定我使用的是正确的 access_token、appsecret_proof 等,但我想我可能不是。不过,我使用的是来自具有 business_manager 范围的登录请求的访问令牌,我认为这是正确的。
如果有人对此有任何见解,将不胜感激!
嗯...这个问题的答案有点虎头蛇尾。今天早上我用新的头脑尝试时,我自己弄明白了。
这一行是提示:
The parameter page_permitted_roles
or page_permitted_tasks
is required when sharing page access
原来使用page_permitted_tasks
解决了问题。我现在正在使用
-F 'page_permitted_tasks=["ADVERTISE"]' \
没有给我任何错误。
我正在尝试使用 Facebook 业务 API 为第 3 方页面创建子业务经理。
我一直在关注文档,该文档提供了以下示例来说明如何创建子业务经理。
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) Deprecated role based field in two tier endpoints as of V3.3 is deprecated for versions v3.3 and higher
我假设对应于 v3.3 发行说明中的以下内容:
Deprecated the role_based field permitted_role in Business Manager API. The following endpoint is impacted:
POST {business-id}/owned_businesses.
看到之后,我认为最好的办法就是从我的请求中删除 page_permitted_roles。不幸的是,这导致了以下错误:
The parameter
page_permitted_roles
orpage_permitted_tasks
is required when sharing page access
我认为 ADVERTISER
可能已从 page_permitted_roles 中弃用,所以我尝试使用 ADMIN
,这导致了以下错误:
Param page_permitted_roles[0] must be one of {MANAGER, CONTENT_CREATOR, MODERATOR, ADVERTISER, INSIGHTS_ANALYST}
这.....让我们回到起点。
我相当确定我使用的是正确的 access_token、appsecret_proof 等,但我想我可能不是。不过,我使用的是来自具有 business_manager 范围的登录请求的访问令牌,我认为这是正确的。
如果有人对此有任何见解,将不胜感激!
嗯...这个问题的答案有点虎头蛇尾。今天早上我用新的头脑尝试时,我自己弄明白了。
这一行是提示:
The parameter
page_permitted_roles
orpage_permitted_tasks
is required when sharing page access
原来使用page_permitted_tasks
解决了问题。我现在正在使用
-F 'page_permitted_tasks=["ADVERTISE"]' \
没有给我任何错误。