首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少创意规范facebook

缺少创意规范facebook
EN

Stack Overflow用户
提问于 2017-05-14 03:15:54
回答 2查看 773关注 0票数 1

我正在尝试使用php sdk创建一个广告。

我可以创建活动、目标、广告集和创意(返回一个我可以使用图形资源管理器验证的creative_id )。

但是当我最终运行代码来创建广告本身时,我得到了一个异常,看起来像这样:

代码语言:javascript
复制
   "error_user_title" => "Missing creative spec"
    "error_user_msg" => "No creative spec found for given adgroup."

我就是找不到任何与这个错误有关的东西。

下面是我的代码的相关部分:

代码语言:javascript
复制
    $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));

感谢任何人的帮助。

EN

回答 2

Stack Overflow用户

发布于 2017-05-15 02:07:59

我经常说,成为一名成功的开发人员所需要的唯一技能就是能够为一个问题苦恼数天,阅读源代码,谷歌,重构,重写,然后意识到你忘记了一些非常明显的东西。

代码语言:javascript
复制
    AdFields::CREATIVE => $creative,

应该阅读

代码语言:javascript
复制
    AdFields::CREATIVE => $creative->id,

但是坚持的能力并不是你所需要的技能。真正的技能是以某种方式抑制住把你的电脑扔出窗外,转而做一些生活中有意义的事情的强烈冲动。

票数 2
EN

Stack Overflow用户

发布于 2017-06-27 23:35:54

经过几个小时的测试,特雷弗的答案似乎是不正确的。这是正确的语法:

代码语言:javascript
复制
AdFields::CREATIVE => array('creative_id'=>$creative->id)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43957091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档