如何使用Facebook营销API php SDK获得每个广告的点击量?

问题描述:

我想打印出我的广告的名称和他们获得的点击量。我的所有广告都在$ads阵列中。如何使用Facebook营销API php SDK获得每个广告的点击量?

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分解成一个空字符串""

我在做什么错?

该函数返回的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

感谢保罗!有趣的是,我在你回答3分钟前已经想出了它,并且正在自己写一个答案。该函数返回一个Cursor对象,该对象可能是AdInsight对象的集合,但实际上只有一个AdInsights对象,因为每个Ad对象只对应一个AdInsights对象。所以,如果我没有弄错,foreach循环只是访问Cursor对象内的AdInsights对象的一种方法。 – Bossan