Facebook API 登录$user的问题无法正确返回



当我运行此代码时,我的cookie已被清除,我没有登录Facebook。它将我定向到 facebook 并登录,但当它带我回到我的页面时,它是相同的,它应该向我显示个人资料图片等等......

我似乎缩小了$user的返回语句的问题,因为它返回 0。我已经盯着这段代码很长时间了,我没有发现我做错了什么。

我需要更改什么才能获得它,以便当我从 facebook 登录返回时,它将显示个人资料图片等等......

<?php
require_once 'libs/facebook.php';
require 'connections/connection.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
            'appId' => 'xxxxxxxxxxxxx',
            'secret' => 'xxxxxxxxxxxxxxxx',
        ));
// Get User ID
$user = $facebook->getUser();
echo $user;
if ($user) {
    try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
        echo $user;
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}
// Login or logout url will be needed depending on current user state.
if ($user) {
    //$logoutUrl = $facebook->getLogoutUrl();
    $logoutUrl = $facebook->getLogoutUrl(array('next' => ($fbconfig['baseurl'] . 'logout.php')));
} else {
    $statusUrl = $facebook->getLoginStatusUrl();
    $loginUrl = $facebook->getLoginUrl(array(
        'scope' => 'user_about_me',
        'scope' => 'read_friendlists'
            ));
}
?>   

不用担心,我的朋友,你没有做错任何事。我的 DEMO 应用程序遇到了同样的问题,该应用程序直到昨天都运行良好。

我相信您在获取访问令牌时也遇到问题。我认为问题只出在 PHP SDK 上。所以可能会在一段时间内修复。

解决方案 : 在尝试了许多解决此问题的解决方案后,这对我有用。

在base_facebook.php文件中,找到 makeRequest() 方法并检查以下行。

$opts = self::$CURL_OPTS;  

紧跟在它之后,添加此行

$opts[CURLOPT_SSL_VERIFYPEER] = false;  

更多细节可以在这里找到 - http://net.tutsplus.com/tutorials/php/how-to-authenticate-your-users-with-facebook-connect/

最新更新