2017-05-13 2 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

성공적인 개발자가 되려면 문서가 정확해야합니다. 페이스 북의 사이트에있는 샘플 코드가 잘못되었습니다. 정정은 ... 맞습니다 :) https://developers.facebook.com/docs/marketing-api/reference/adgroup – bart

+0

그 점도 제가 느낀 것입니다. Facebook 문서는 나에게 매우 불명확하다. –

2

테스트 시간이 지나면 Trevor의 대답이 잘못된 것 같습니다. 올바른 구문은 다음과 같습니다.

관련 문제