我已经开发了这段代码,当我使用我的登录ID进行测试时它运行良好。当其他人登录其详细信息时,它显示错误(没有通过(FQL)获取数据。 代码是:
$facebook = new Facebook(array(
'appId' => "xxx",
'secret' => "xxx",
'cookie' => true,
));
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'offline_access,email,manage_pages,read_insights'
)
);
$pid = $_GET['pageid'];
echo $pid;
echo "<br /><br />";
$total_fans = $facebook->api(
"/".$pid."/insights/page_fans"
);
echo "This page has total " . $total_fans[data][0][values][0][value] . "likes (unique).";
echo "<br /><br />";
$fans_country = $facebook->api(
"/".$pid."/insights/page_fans_country"
);
if(empty($fans_country)){
echo "<p>No country specific data retrieved..</p>";
} else {
echo "<p>Countryvise like counts :</p> ";
foreach ($fans_country[data][0][values][0][value] as $key => $value) {
echo "<span style='float: left; width: 50px; background: #DCDCDC;'> ". $key ."</span>
<span style='float: left; width: 50px;'>" . $value ."</span>
</tr>";
}
echo "<br /><br />";
}
它起作用,当我使用我的FB帐户登录时,它将显示我的id为admin的页面,然后对于每个页面,它将获取总数,如计数和类似计数。 对我来说没关系,但是当其他人使用其帐户登录时,它会返回空白数组。
感谢
答案 0 :(得分:0)
我猜您要求的是不存在的权限"insights"
... https://developers.facebook.com/docs/graph-api/reference/page/insights/处的文档说
需要具有 read_insights 权限的用户或网页访问令牌
要获取用户页面的页面访问令牌,请使用
GET /me/accounts