2014-12-20 2 views
0

Я пишу приведенный ниже код для получения статистики одной кампании.Как получить статистику нескольких кампаний в объявлениях Facebook api

$fields = array(
     'start_time','actions','spent','clicks','impressions','end_time', 
    ); 
$params = array(); 
$campaign = new AdCampaign(123456); 
$stats = $campaign->getStats($fields, $params); 

здесь я могу получить доступ к статистике. Но при использовании этой функции цикл, то я получил вопрос, как

Призвание: $campaign = new AdCampaign($campaign_id); Ошибка: "An access token is required to request this resource"

Но использование графа API я могу получить доступ к нескольким кампаниям статистики по времени

https://graph.facebook.com/stats?ids=123,456,789&fields=start_time,actions,spent,clicks,impressions,end_time&access_token= ...

Мне это нужно с помощью Ads API .... Пожалуйста, решите это для меня ..

+0

Можете ли вы опубликовать полный код (минус токен доступа) вашего цикла? Я подозреваю, что ваш цикл вызывается до того, как вы получите токен доступа –

ответ

0

Я думаю, что это недостающая функция из SDK на данный момент, как вы можете только доступ к статистике относительно объекта.

Однако вызывающая статистика в цикле не должна быть проблемой, предполагая, что вы правильно создали класс API.

use FacebookAds\Api; 
use FacebookAds\Object\AdCampaign; 

Api::init($app_id, $app_secret, $access_token); 

$campaign_ids = array(...); 

$fields = array(
    'start_time', 
    'actions', 
    'spent', 
    'clicks', 
    'impressions', 
    'end_time', 
);  
$params = array(); 
$stats = array(); 
foreach($campaign_ids as $id) { 
    $campaign = new AdCampaign($id); 
    $stats[$id] = $campaign->getStats($fields, $params); 
} 

Вы также можете просто получить все статистику для всех кампаний с помощью getAdCampaignStats на AdAccount.

Смежные вопросы