2017-01-24 6 views
0

Я хочу распечатать имя моих объявлений и количество кликов, которые они получили. Все мои объявления находятся в массиве $ads.Как я могу получить количество кликов для каждого объявления, используя API-интерфейс API-интерфейсов facebook API php?

foreach ($ads as $ad){ 
    $adinsights = $ad->getInsights(array (
     AdsInsightsFields::INLINE_LINK_CLICKS 
     )); 
    echo $ad->{AdFields::NAME}.PHP_EOL; 
    echo $adinsights->{AdsInsightsFields::INLINE_LINK_CLICKS}.PHP_EOL; 
} 

В приведенном выше коде указаны только названия объявлений.

$adinsights->{AdsInsightsFields::INLINE_LINK_CLICKS}.PHP_EOL решает в пустую строку ""

Что я делаю неправильно?

ответ

0

Эта функция возвращает коллекцию объектов AdInsight, так что вы будете иметь, чтобы перебирать их, чтобы получить выход:

foreach ($ads as $ad){ 
    $adinsights = $ad->getInsights(array (
    AdsInsightsFields::INLINE_LINK_CLICKS 
)); 

    foreach($adinsights as $a){ 
    echo $a->date_start . ' - ' . $a->date_stop . ': ' . $a->inline_link_clicks.PHP_EOL; 
    } 

} 
+0

Спасибо Paul! Забавно, что я выяснил это примерно за 3 минуты до того, как вы ответили и был в середине написания ответа. Функция возвращает объект Cursor, который может быть набором объектов AdInsight, но на самом деле это только один объект AdInsights, поскольку каждый объект Ad соответствует только одному объекту AdInsights. Поэтому, если я не ошибаюсь, цикл foreach - это просто способ доступа к объекту AdInsights внутри объекта Cursor. – Bossan

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