【问题标题】:Facebook Marketing API ad creativesFacebook Marketing API 广告素材
【发布时间】:2019-05-28 09:17:29
【问题描述】:

我的 Facebook 应用程序已获得批准的 ads_readmanage_pages ads_managementbusiness_managementAds Management Standard Access 权限。
我可以创建广告活动、广告组,并可以通过 Facebook Marketing API 将资产上传到 Facebook。

但是当我尝试使用 /adcreatives 请求创建广告素材时,我收到错误消息:

(#3) 应用程序没有能力进行此 API 调用。

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
但还是没有成功。

那么,问题是,正确的广告创意创建请求是什么?我的应用需要哪些权限才能执行此类任务?

附言我还在 Facebook 开发者论坛上问了一些问题,但没有得到解决方案。 q1, q2, q3

【问题讨论】:

    标签: javascript node.js facebook facebook-graph-api


    【解决方案1】:

    我认为您的输入格式不正确(尽管从 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 收到广告创意 ID,但在 Facebook 页面或广告管理器中找不到它。你知道 Facebook 在哪里存储广告创意吗?
    • Facebook 不允许您在用户界面上查看广告素材,除非它附加到广告中。制作广告时,您必须将该广告素材 ID 传递到参数中。
    • 但是如果你不想在广告管理器上预览它,你可以使用api上的生成预览端点:developers.facebook.com/docs/marketing-api/generatepreview/v3.3
    • 非常感谢。我觉得在你的帮助下,我离终点越来越近了。你不介意我再问一个问题吗?看起来我成功创建了广告创意,现在我尝试上传广告。字段:{name, campaign_id, adset_id, creative: {creative_id}, status}。问题是,我收到错误 >“对象存储 URL 与推广对象不匹配:请确保与您的广告创意关联的对象存储 URL 与设置在推广对象上的对象存储 URL 匹配。” ;不过,在广告集创建和广告创意创建中,我提到了相同的 object_store_url
    • 最好单独提出一个问题,不确定您在制作广告素材时传递了哪些参数。您使用的是 link_data 还是 photo_data 格式?您还应该只传递object_story_specobject_url 之一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2015-12-09
    • 1970-01-01
    • 2021-06-20
    • 2016-10-17
    相关资源
    最近更新 更多