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