Facebook API的广告发布后不发布

问题描述:

我已经成功地使用Facebook营销API创建了广告帖子,但帖子没有自动发布到页面。我必须手动发布它在动力。任何人都可以告诉我可能是什么问题吗?Facebook API的广告发布后不发布

$video_data = new AdCreativeVideoData(); 
$video_data->setData(array(
AdCreativeVideoDataFields::DESCRIPTION => 'try it out', 
AdCreativeVideoDataFields::IMAGE_URL => 'IMAGE_URL', 
AdCreativeVideoDataFields::VIDEO_ID => 'VIDEO_ID', 
AdCreativeLinkDataFields::CALL_TO_ACTION => array(
    'type' => AdCreativeCallToActionTypeValues::NO_BUTTON, 
    'value' => array(
    'link' => 'URL', 
    'link_caption' => 'Test', 
    ), 
), 
)); 
$object_story_spec = new AdCreativeObjectStorySpec(); 
$object_story_spec->setData(array(
    AdCreativeObjectStorySpecFields::PAGE_ID => 'PAGE_ID', 
    AdCreativeObjectStorySpecFields::VIDEO_DATA => $video_data, 
)); 
$creative = new AdCreative(null, 'act_AD_ACCOUNT_ID'); 
$creative->setData(array(
    AdCreativeFields::NAME => 'Sample Creative', 
    AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec, 
)); 
$creative->create(); 

您正在使用“内联后创作”,其中post数据有创意的object_story_spec内指定。由于其预期用途是针对广告,因此默认行为是所有创建的帖子都未发布。

FB docs

创意包含的页面ID等内容,以创建一个新的发布的专页后


要为发表后制作的广告的规格,首先直接在页面上发布帖子(POST /<page_id>/feed),然后在创意的object_story_id中使用帖子ID。

+0

如果我使用POST//feed直接在页面上发布,我是否能够获得CALL_TO_ACTION的工作?我曾尝试过这种方式,发布成功创建,但CALL_TO_ACTION被忽略。 – user1567519

+0

您的示例代码显示'',这是您将视频上传到页面后得到的内容。在该上传呼叫('POST//videos')上,您可以指定'published'参数来公开视频。然后,只需按照示例代码。那是你在找什么? – David

+0

道歉!我没有得到你在这里提到的。我的目的是在Facebook页面上发布视频,发布的视频应该带有call_to_action按钮。我曾经使用page_id/feed获取视频在页面上发布,但call_to_action按钮被完全忽略。经过一个月的研究,我认为facebook marketing api可以通过call_to_action做页面发布,但默认情况下不会发布。请告诉我示例代码来归档这个。谢谢 – user1567519