在调用getInsights()方法时,它给出了一个对象。所以我想从中访问一些数据。这是api电话
$account->getInsights($fields, $params);
echo '<pre>';print_r($resultArr);die;
它会给出结果
FacebookAds \ Cursor Object([response:protected] => FacebookAds \ Http \ Response Object([request:protected] => FacebookAds \ Http \ Request Object([client:protected] => FacebookAds \ Http \ Client Object([requestPrototype: protected] => FacebookAds \ Http \ Request Object(
提前致谢。
以下应该有效:
$resultArr = $account->getInsights($fields, $params)[0]->getData();
echo '<pre>';
print_r($resultArr);
die;
如果光标中有多个对象,则可以循环遍历它:
foreach ($account->getInsights($fields, $params) as $obj) {
$resultArr = $obj->getData();
echo '<pre>';
print_r($resultArr);
}
die;
在这种情况下,如果默认情况下将implicitFetch选项设置为true,则:
Cursor::setDefaultUseImplicitFetch(true);
你会确定你正在循环所有的结果。
我使用这段代码,它对我有用,我希望对你有用......
$adset_insights = $ad_account->getInsights($fields,$params_c);
do {
$adset_insights->fetchAfter();
} while ($adset_insights->getNext());
$adsets = $adset_insights->getArrayCopy(true);
也许试试:
$insights = $account->getInsights($fields, $params);
$res = $insights->getResponse()->getContent();
然后去寻找通常的东西:
print_r($res['data']);
不确定我的方法是否与Angelina的不同,因为它是SDK的一个不同区域,或者是因为它自从她的答案以来已被更改,但下面是适用于我的代码,并且希望对其他人有用:
$location_objects = $cursor->getArrayCopy();
$locations = array();
foreach($location_objects as $loc)
{
$locations[] = $loc->getData();
}
return $locations;
调用getArrayCopy返回一个AbstractObjects数组,然后调用getData返回一个对象props数组。