2

Je veux transformer cette demande API Facebook Graph:Obtenir des annonces Points de vue et données AdCreatives pour un ADAccount sur Facebook Ads SDK PHP

act_xyz/ads?fields=insights.date_preset(yesterday){ad_name,adset_name,campaign_name,account_name,account_id,impressions,inline_link_clicks,spend,ad_id},adcreatives{object_story_spec} 

à utiliser Facebook Ads SDK PHP. Maintenant, j'ai ce code:

$account = new AdAccount('act_xyz'); 

$fields = array(
    InsightsFields::AD_NAME, 
    InsightsFields::ADSET_NAME, 
    InsightsFields::CAMPAIGN_NAME, 
    InsightsFields::ACCOUNT_NAME, 
    InsightsFields::ACCOUNT_ID, 
    InsightsFields::IMPRESSIONS, 
    InsightsFields::INLINE_LINK_CLICKS, 
    InsightsFields::SPEND, 
    InsightsFields::AD_ID 
); 

$params = array(
    'date_preset' => InsightsPresets::YESTERDAY 
); 

$account->getInsights($fields, $params); 

[...] 

$fields = array(
    AdCreativeFields::OBJECT_STORY_SPEC 
); 

$account->getAdCreatives($fields); 

Je peux obtenir toutes les données séparément, mais je veux obtenir AdCreatives et Insights pour chaque annonce sur mon ADAccount comme API graphique fait. Merci.

Répondre

1

Vous pouvez toujours effectuer des appels d'API Graph vers le point de terminaison relatif aux annonces si vous avez le bon jeton d'accès. En utilisant la dernière Facebook SDK PHP & Facebook Ads SDK PHP: -

$fb = new Facebook(['app_id' => {APP_ID}, 'app_secret' => {APP_SECRET}]); 

$account = new AdAccount('act_xyz'); 

$data = $fb->get('/' . $account->id . '/ads?fields=insights.date_preset(yesterday){ad_name,adset_name,campaign_name,account_name,account_id,impressions,inline_link_clicks,spend,ad_id},adcreatives{object_story_spec}', $access_token); 

Je l'ai testé cela et il fonctionne. J'utilise Facebook PHP SDK v5.1.2 et Facebook Ads PHP SDK v2.5.1.

Espérons que cela aide! : D

+0

J'utilise actuellement les appels Graph. Ma question est de savoir comment le transformer. De toute façon, savez-vous quels sont les avantages et les inconvénients des deux versions? Merci pour votre réponse. – David