我正在尝试使用网址标记创建链接到外部目标网页的广告素材 . Marketing API Documentation提供以下示例(稍作修改):

curl \
-F 'name=Sample Creative' \
-F 'title=my title' \
-F 'body=my body' \
-F 'url_tags=utm_medium=tag=TAG' \
-F 'object_url=https://www.link.com' \
-F 'link_url=https://www.link.com' \
-F 'image_hash=<IMAGE_HASH>' \
-F 'access_token=<ACCESS_TOKEN>' \
 https://graph.facebook.com/v2.12/act_<AD_ACCOUNT_ID>/adcreatives

这会在消息中生成错误:

广告和广告素材必须与Facebook页面相关联 . 尝试将广告或广告素材与网页相关联,然后重新提交广告 .

如果我包含 -F 'object_id=<PAGE_ID>' ,我会收到不同的错误:

您尝试宣传的对象含糊不清 . 您必须只指定一个提升的对象 . 您指定了以下内容:object_id,object_url .

如果我然后删除object_url字段,但保留link_url,我得到:

Creative必须具有有效的目标URL,如果附加对象是页面,则目标必须与页面匹配 .

使用actor_id或page_id而不是object_id不能解决问题 .

我可以在没有错误的情况下运行调用的唯一方法是:

curl \
-F 'name=Sample Creative' \
-F 'title=my title' \
-F 'body=my body' \
-F 'object_id=<PAGE_ID>' \
-F 'url_tags=utm_medium=tag=TAG' \
-F 'image_hash=<IMAGE_HASH>' \
-F 'access_token=<ACCESS_TOKEN>' \
 https://graph.facebook.com/v2.12/act_<AD_ACCOUNT_ID>/adcreatives

但是,这不包含指向外部网站的链接 .

看来2017年11月的政策变更要求广告创意与现有的Facebook页面(我有)相关联,这意味着没有object_id,object_url和link_url的组合让我做我想做的事情 .