Facebook graph api 缺少创造性规范facebook
我正在尝试使用PHPSDK创建一个广告 我可以创建活动、目标、adset和创意(返回我可以使用图形浏览器验证的创意id) 但当我最终运行代码来创建广告本身时,我得到一个异常,如下所示:Facebook graph api 缺少创造性规范facebook,facebook-graph-api,facebook-php-sdk,Facebook Graph Api,Facebook Php Sdk,我正在尝试使用PHPSDK创建一个广告 我可以创建活动、目标、adset和创意(返回我可以使用图形浏览器验证的创意id) 但当我最终运行代码来创建广告本身时,我得到一个异常,如下所示: "error_user_title" => "Missing creative spec" "error_user_msg" => "No creative spec found for given adgroup." 我就是找不到任何与这个错误有关的东西 以下是我的代码的相关部分:
"error_user_title" => "Missing creative spec"
"error_user_msg" => "No creative spec found for given adgroup."
我就是找不到任何与这个错误有关的东西
以下是我的代码的相关部分:
$link_data = new AdCreativeLinkData();
$link_data->setData(array(
AdCreativeLinkDataFields::LINK => $route,
AdCreativeLinkDataFields::MESSAGE => $petition_statement,
AdCreativeLinkDataFields::NAME => $banner_title,
AdCreativeLinkDataFields::IMAGE_HASH => $image_hash,
));
$object_story_spec = new AdCreativeObjectStorySpec();
$object_story_spec->setData(array(
AdCreativeObjectStorySpecFields::PAGE_ID => $pageid,
AdCreativeObjectStorySpecFields::INSTAGRAM_ACTOR_ID=>$instagram_id,
AdCreativeObjectStorySpecFields::LINK_DATA=>$link_data
));
$creative = new AdCreative(null,$account_id);
$creative->setData(array(
AdCreativeFields::TITLE => $banner_title,
AdCreativeFields::BODY => $banner_subtitle,
AdCreativeFields::IMAGE_HASH => $image_hash,
AdCreativeFields::OBJECT_TYPE => 'SHARE',
AdCreativeFields::OBJECT_STORY_SPEC=>$object_story_spec
));
$creative->create();
echo 'Creative ID: '.$creative->id . "\n";
$ad = new Ad(null, $account_id);
$ad->setData(array(
AdFields::NAME => $short_name,
AdFields::ADSET_ID => $adset->id,
AdFields::CREATIVE => $creative,
AdFields::TRACKING_SPECS => array(array(
'action.type' => 'offsite_conversion',
'fb_pixel' => $pixel_code,
))
));
$ad->create(array(Ad::STATUS_PARAM_NAME => Ad::STATUS_PAUSED));
感谢您的帮助。我常说,要想成为一名成功的开发人员,唯一需要的技能就是能够为一个问题苦思冥想几天,通读源代码,谷歌搜索,重构,重写,然后意识到你忘记了一些他妈的显而易见的事情
AdFields::CREATIVE => $creative,
应该读
AdFields::CREATIVE => $creative->id,
但是坚持的能力不是你需要的技能。真正的技能是以某种方式抵制将电脑扔出窗外的强烈冲动,转而做一些有成效的事情。我常说,要成为一名成功的开发人员,唯一需要的技能是能够为一个问题苦思冥想数天,通读源代码,谷歌it,重构,重写,然后意识到你忘记了一些他妈的显而易见的事情
AdFields::CREATIVE => $creative,
应该读
AdFields::CREATIVE => $creative->id,
但是坚持的能力不是你需要的技能。真正的技巧是以某种方式抵挡住把电脑扔出窗外的强烈冲动,转而做一些有意义的事情。经过几个小时的测试,特雷弗的答案似乎是错误的。这是正确的语法:
AdFields::CREATIVE => array('creative_id'=>$creative->id)
经过数小时的测试,特雷弗的答案似乎不正确。这是正确的语法:
AdFields::CREATIVE => array('creative_id'=>$creative->id)
为了成为一名成功的开发人员,文档应该是正确的。Facebook网站上的示例代码是错误的,您的更正是。。。正确:)这也是我一直的感觉。Facebook文档对我来说非常不清楚。为了成为一名成功的开发者,文档应该是正确的。Facebook网站上的示例代码是错误的,您的更正是。。。正确:)这也是我一直的感觉。我觉得Facebook文档很不清楚。有什么更新吗?你是怎么解决的?有更新吗?你是怎么解决的?