Facebook登录和user_likes停止工作,没有任何代码更改

时间:2014-07-18 11:15:06

标签: php facebook facebook-graph-api facebook-like facebook-php-sdk

我有一个facebook登录实现,它获取user_likes的用户权限,我们检查用户是否喜欢某个页面。代码在过去6个月左右一直没有任何问题。

突然大约2周后,它突然工作,没有为user_likes提供任何值。 Facebook应用程序是在2014年4月之前创建的,因此API V2.0约束不适用。

我访问facebook的基本代码是

$facebook = new Facebook(array(
    'appId'         => $app_id,
    'secret'        => $app_secret,
    ));

$user = $facebook->getUser();

if($user){

   try{
            // Proceed knowing you have a logged in user who's authenticated.
            $user_profile = $facebook->api('/me');
    }catch(FacebookApiException $e){
            error_log($e);
            $user = NULL;
    }
}

if($user){
    $logoutUrl = $facebook->getLogoutUrl();
}else{
    // Get login URL
    $loginUrl = $facebook->getLoginUrl(array(
            'scope'                 => 'user_likes, user_birthday, user_location, user_work_history, user_hometown, user_photos,email',
            'redirect_uri'  => $site_url,
            ));
}

if($user){

    // Save your method calls into an array
    $fields='id,name,first_name,last_name,email,username,gender,location,birthday,link,locale';
    $queries = array(
            array('method' => 'GET', 'relative_url' => '/me?fields='.$fields),
            array('method' => 'GET', 'relative_url' => '/'.$user.'/friends'),
            array('method' => 'GET', 'relative_url' => '/'.$user.'/likes'),
            array('method' => 'GET', 'relative_url' => '/'.$user.'/interests'),
            );

    // POST your queries to the batch endpoint on the graph.
    try{
            $batchResponse = $facebook->api('?batch='.json_encode($queries), 'POST');
    }catch(Exception $o){
            error_log($o);
    }

显示" csrf状态标记与提供的标记不匹配"日志中的错误所以我更新了PHP-SDK,希望它能为我解决问题,而且确实如此。一切都开始正常,但是3-4天之后它再次停止工作,现在我甚至无法让用户登录facebook。

有谁知道为什么会这样?

0 个答案:

没有答案