Facebook 广告 API:如何在不先创建广告系列的情况下创建广告预览?

Facebook Ads API: How can I create ads preview without create campaign first?

我查了很多资料,流程是这样的:

  1. 提交数据以创建广告系列、目标和广告创意
  2. 使用AdCreative ID生成预览代码
  3. 在我的网站上显示预览代码(向我的用户展示)

但我不想在预览前创建Campaign、Targeting和AdCreative,只需提交AdCreative的原始数据即可获得预览代码。

我找到了那个文档 https://developers.facebook.com/docs/graph-api/reference/generatepreviews/,看起来他们可以解决我的问题...但是没有用。

我的测试数据是:https://graph.facebook.com/v2.6/generatepreviews?ad_format=RIGHT_COLUMN_STANDARD&creative={"object_story_spec":{"link_data":{"message":"msg","link":"http://kimkha.com?1","caption":"ccccc"}},"name":"NAME 1","body":"dddddd","title":"titititit","call_to_action_type":"OPEN_LINK","object_url":"http://kimkha.com"}&access_token=<token>

错误:

{ "error": { "message": "(#275) Cannot determine the target object for this request. Currently supported objects include ad account, business account and associated objects.", "type": "OAuthException", "code": 275, "fbtrace_id": "GeckbxpU9gr" } }

我运行遇到了这个问题。我的解决方案是使用我的应用程序令牌而不是 Graph API Explorer 的令牌。希望这对您有所帮助!

我 运行 遇到了同样的问题并解决了它,尽管无法获得功能齐全的动态预览。这里有更多的建议可以帮助减轻他人的痛苦。

  1. url 需要像错误消息状态一样包含一个 "ad account, business account or associated objects"。对于我的情况,我使用了我的广告帐户 ID (https://www.facebook.com/business/help/1492627900875762)。 url 更改为以下基本格式:https://graph.facebook.com/v2.10/act_<your-app-id>/generatepreviews
  2. 当你得到响应时,你需要解码正文,你可以直接使用url来测试。我将 \/ 替换为 /,将 &amp; 替换为 &,并删除了结尾的斜杠。在此之后你会得到一个 url 应该给你更具体的错误消息
  3. 我还必须指定将与广告关联的 "page_id" 参数。这是上面列出的示例 JSON 中 "link_data" 的兄弟姐妹。
  4. 您可能会收到错误消息,告诉您更改某些字段的格式。
  5. 最后报错"Preview Not Available: Unable to display a preview of this ad. (fbtrace_id: Dsfql/z/qVI)",终于失去了继续下去的意志。该文档远非易于理解,也没有明确的示例。

很抱歉,我无法提供可行的解决方案,但就我的情况而言,我正在评估此 API 的非关键工作,时间限制使我无法继续。希望我能帮别人节省一些时间。

我在这个问题上苦苦挣扎后的两分钱。我的请求必须格式化如下(这是使用视频数据,但应扩展到 link 数据):

act_{ACT_ID}/generatepreviews
?ad_format=DESKTOP_FEED_STANDARD
&creative={object_story_spec:{
  page_id:<PAGE_ID>,
  video_data: { 
    image_url: <IMAGE_URL>,
    call_to_action:{
       type:"SHOP_NOW",
       value:{
         link: <URL>
       }
    }
  }
}}

在这种情况下,call_to_action 必须放在 video_data(或 link_data)参数内并且必须格式化为对象。正如 Matt 提到的,我确实还必须将 &amp; 更改为 &