Facebook 营销 API 个广告素材
Facebook Marketing API ad creatives
我的 Facebook 应用程序获得了 ads_read
、manage_pages
ads_management
、business_management
和 Ads Management Standard Access
权限。
我可以创建广告活动、广告集,并可以通过 Facebook 营销将资产上传到 Facebook API。
但是当我尝试使用 /adcreatives
请求创建广告创意时,我收到错误信息:
(#3) Application does not have the capability to make this API call.
curl
请求示例:
curl -X POST \
'https://graph.facebook.com/v3.3/act_<account_id>/adcreatives?access_token=<access_token_here>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Host: graph.facebook.com' \
-d 'call_to_action_type=USE_APP&actor_id=<page_id>&object_type=APPLICATION&status=active&name=hello&title=foo&page_id=<page_id>&id=act_<account id>&image_hash=fb1a69e0965076e791183ac82c9f7417'
我已经尝试使用应用程序令牌、页面令牌和用户令牌(这在 FB 业务管理器中是允许的)发出请求。
我也尝试过使用沙盒帐户,它是令牌
每项服务(应用程序、Facebook 页面和用户)都与业务管理器中的业务帐户关联并具有管理员(最大)权限。
我尝试使用 JSON 请求在正文中发送数据,我尝试将数据作为 x-www-form-urlencoded 发送。
我试过使用纯 http 请求并尝试使用 facebook-nodejs-business-sdk
但是还是没有成功。
所以,问题是,什么是正确的广告创意创建请求,我的应用程序需要什么权限才能执行此类任务?
P.S。我还在 Facebook 开发者论坛上问了几个问题,但没有得到解决方案。 q1, q2, q3
我认为您的输入格式不正确(尽管从 FB 返回的错误通常不会说明那么多)。
我发现的主要问题是创意信息未通过 object_story_spec
参数传递。您正在制作的创意类型连同必要的参数一起通过此对象传递,在您的情况下为 photo_data
。
curl -X POST \
'https://graph.facebook.com/v3.3/act_<ACT_ID>/adcreatives?access_token=<TOKEN>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Host: graph.facebook.com' \
-d 'link_url=<URL>&name=<CREATIVE_NAME>&object_type=PAGE&object_story_spec={page_id:<PAGE_ID>,photo_data:{image_hash:<HASH>,caption:<CAPTION>}}'
您可能需要根据需要添加或删除参数,但上述请求对我有用。
在权限方面,这是我拥有的:
一些额外的参考资料:
Ad Creative
Object Story Spec
Photo Data
我的 Facebook 应用程序获得了 ads_read
、manage_pages
ads_management
、business_management
和 Ads Management Standard Access
权限。
我可以创建广告活动、广告集,并可以通过 Facebook 营销将资产上传到 Facebook API。
但是当我尝试使用 /adcreatives
请求创建广告创意时,我收到错误信息:
(#3) Application does not have the capability to make this API call.
curl
请求示例:
curl -X POST \
'https://graph.facebook.com/v3.3/act_<account_id>/adcreatives?access_token=<access_token_here>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Host: graph.facebook.com' \
-d 'call_to_action_type=USE_APP&actor_id=<page_id>&object_type=APPLICATION&status=active&name=hello&title=foo&page_id=<page_id>&id=act_<account id>&image_hash=fb1a69e0965076e791183ac82c9f7417'
我已经尝试使用应用程序令牌、页面令牌和用户令牌(这在 FB 业务管理器中是允许的)发出请求。
我也尝试过使用沙盒帐户,它是令牌
每项服务(应用程序、Facebook 页面和用户)都与业务管理器中的业务帐户关联并具有管理员(最大)权限。
我尝试使用 JSON 请求在正文中发送数据,我尝试将数据作为 x-www-form-urlencoded 发送。
我试过使用纯 http 请求并尝试使用 facebook-nodejs-business-sdk
但是还是没有成功。
所以,问题是,什么是正确的广告创意创建请求,我的应用程序需要什么权限才能执行此类任务?
P.S。我还在 Facebook 开发者论坛上问了几个问题,但没有得到解决方案。 q1, q2, q3
我认为您的输入格式不正确(尽管从 FB 返回的错误通常不会说明那么多)。
我发现的主要问题是创意信息未通过 object_story_spec
参数传递。您正在制作的创意类型连同必要的参数一起通过此对象传递,在您的情况下为 photo_data
。
curl -X POST \
'https://graph.facebook.com/v3.3/act_<ACT_ID>/adcreatives?access_token=<TOKEN>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Host: graph.facebook.com' \
-d 'link_url=<URL>&name=<CREATIVE_NAME>&object_type=PAGE&object_story_spec={page_id:<PAGE_ID>,photo_data:{image_hash:<HASH>,caption:<CAPTION>}}'
您可能需要根据需要添加或删除参数,但上述请求对我有用。
在权限方面,这是我拥有的:
一些额外的参考资料:
Ad Creative
Object Story Spec
Photo Data