2017-05-13 14 views
1

php sdkを使用して広告を作成しようとしています。クリエイティブ仕様のフェイスブックがありません

キャンペーン、ターゲティング、広告セット、クリエイティブ(グラフエクスプローラーを使用して検証できるcreative_idが返されます)を作成できます。私はちょうどこのエラーを参照する何かを見つけることができません

"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)); 

は、任意の助けに感謝:

以下は私のコードの関連部分です。

+0

これに関するアップデートはありますか?どのように解決しましたか? – bart

答えて

2

私はしばしば、あなたが成功した開発者でなければならない唯一のスキルは、何日もの間問題に苦しみ、ソースコードを読み、Googleでリファクタリングし、書き直して、 。

AdFields::CREATIVE => $creative, 

AdFields::CREATIVE => $creative->id, 

をお読みください。しかし持続する能力は、あなたが必要とするスキルではありません。本当のスキルは、何とかあなたのコンピュータを窓からはずし、あなたの人生で生産的な何かをするという圧倒的な衝動に抵抗することです。

+1

開発者として成功するためには、ドキュメントが正しいはずです。 Facebookのサイトのサンプルコードが間違っている、あなたの修正は...正しい:) https://developers.facebook.com/docs/marketing-api/reference/adgroup – bart

+0

それは私が同様に感じているものです。 Facebookのドキュメントは私には非常に不明です。 –

2

テストの時間が過ぎると、Trevorの答えは間違っているようです。これは適切な構文です:

AdFields::CREATIVE => array('creative_id'=>$creative->id) 
関連する問題