Facebook 从FQL获取洞察细节的空白数组
我已经开发了这段代码,当我使用我的登录id测试它时,它运行良好。当其他人使用它的详细信息登录时,它显示错误(没有通过(FQL)获取数据)。 代码是:Facebook 从FQL获取洞察细节的空白数组,facebook,facebook-fql,Facebook,Facebook Fql,我已经开发了这段代码,当我使用我的登录id测试它时,它运行良好。当其他人使用它的详细信息登录时,它显示错误(没有通过(FQL)获取数据)。 代码是: $facebook = new Facebook(array( 'appId' => "xxx", 'secret' => "xxx", 'cookie' => true, )); $user = $facebook->getUser(); $loginUrl = $facebook->getLo
$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 />";
}
$facebook=新的facebook(数组)(
“appId”=>“xxx”,
“机密”=>“xxx”,
“cookie”=>正确,
));
$user=$facebook->getUser();
$loginUrl=$facebook->getLoginUrl(
排列(
“范围”=>“脱机访问、电子邮件、管理页面、阅读洞察”
)
);
$pid=$_GET['pageid'];
echo$pid;
回声“
”;
$total_fans=$facebook->api(
“/”$pid.“/insights/page_fans”
);
echo“此页面共有.$total_粉丝[数据][0][value][0][value]。”喜欢(独特)。”;
回声“
”;
$fans\u country=$facebook->api(
“/”$pid.“/insights/page\u fans\u country”
);
如果(空($fans\U国家)){
echo“未检索到特定国家的数据。”;
}否则{
回声“Countryvise-like计数:”;
foreach($fans\u country[data][0][value][0][value]as$key=>$value){
回显“$key”
“$value。”
";
}
回声“
”;
}
它的工作原理是,当我使用我的FB帐户登录时,它将显示我的id为admin的页面,然后对于每个页面,它将获取总的相似计数和全国相似计数。
对我来说没关系,但当其他人使用其帐户登录时,它会返回空白数组
谢谢我想你是在请求一个不存在的权限“insights”…网站上的文档说 需要具有读取权限的用户或页面访问令牌 要获取用户页面的页面访问令牌,请使用
GET /me/accounts
我想知道你在哪里循环浏览所有页面…如果其他人自己管理页面,他们只会看到一些信息。顺便说一句,脱机访问权限很久以来就被弃用了!感谢tobi的评论,基本上我在我的索引文件中循环,在那里我由用户获取所有页面管理员它工作得很好,从那里我传递了page id作为此页面的get变量。我使用:$loginUrl=$facebook->getLoginUrl(数组('scope'=>'offline\u access,email,manage\u page,read\u insights'));这还不够,或者我必须打其他电话才能获得此权限。脱机访问不受欢迎,您问题中的示例代码显示的是“洞察”(不存在的权限),而不是“阅读洞察”!我现在正在使用read_insights,当我在登录时拥有用户访问令牌,并且我尝试使用我的appId+|+我的serect Id作为令牌,但没有机会:(.感谢您的努力。请删除“脱机访问”因为它不再使用了!我编辑了我的答案。抱歉@Tobi我不在,通过使用GET/me/accounts我可以获得令牌,但是我如何在我的网页上使用php获得令牌,我还删除了脱机访问。