我的 Facebook 应用程序有问题。我想知道用户是否喜欢显示一个内容或另一个内容的页面。问题是一些用户点击了like按钮,但应用程序没有从facebook graph API读取它。这是我用来检查用户是否喜欢该页面的代码:
$appID = '171296629176';
$resp = file_get_contents("https://graph.facebook.com/".$user."/likes?access_token=".$facebook->getAccessToken()."&limit=9999");
$data = json_decode($resp,true);
$liked = 0;
$likes_array = $data['data'];
$likes_next = '';
if(($data != null) && (array_key_exists('paging',$data)) && (array_key_exists('next',$data['paging']))){
$likes_next = $data['paging']['next'];
}
foreach($likes_array as $like)
{
if($appID == $like['id']){
$liked = 1;
}
}
while(strlen($likes_next) > 0){
$resp = file_get_contents($likes_next);
$data = json_decode($resp,true);
$likes_array = $data['data'];
$likes_next = '';
if(($data != null) && (array_key_exists('paging',$data)) && (array_key_exists('next',$data['paging']))){
$likes_next = $data['paging']['next'];
}
foreach($likes_array as $like)
{
if($appID == $like['id']){
$liked = 1;
}
}
}
在某些情况下,它不起作用。我不知道 facebook API 是返回一个空的喜欢列表还是返回一个不完整的列表。使用我的帐户和其他帐户可以正常工作,我无法联系遇到问题的用户来测试应用程序。
提前致谢。阿方索。