Facebook 从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

我已经开发了这段代码,当我使用我的登录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 />";
}
$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获得令牌,我还删除了脱机访问。