1

我的 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 是返回一个空的喜欢列表还是返回一个不完整的列表。使用我的帐户和其他帐户可以正常工作,我无法联系遇到问题的用户来测试应用程序。

提前致谢。阿方索。

4

0 回答 0