Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook登录:如何将JavaScript与PHP SDK 3.2.2相结合?_Javascript_Php_Facebook_Facebook Graph Api - Fatal编程技术网

Facebook登录:如何将JavaScript与PHP SDK 3.2.2相结合?

Facebook登录:如何将JavaScript与PHP SDK 3.2.2相结合?,javascript,php,facebook,facebook-graph-api,Javascript,Php,Facebook,Facebook Graph Api,我在这里描述了相同的问题: 同时(这个问题的解决方案是一年前提出的)来自facebook和javascript的PHPSDK已经更新,但我仍然遇到同样的问题 以下是我的设置: JS: 函数populateThis()应完成以下工作: $uid = self::$facebook->getUser(); if ($uid) { $result = self::$facebook->api(array(

我在这里描述了相同的问题:

同时(这个问题的解决方案是一年前提出的)来自facebook和javascript的PHPSDK已经更新,但我仍然遇到同样的问题

以下是我的设置:

JS:

函数populateThis()应完成以下工作:

$uid = self::$facebook->getUser();

            if ($uid) {
                $result = self::$facebook->api(array(
                    'method' => 'fql.query',
                    'query' => 'SELECT uid, name, email FROM user WHERE uid = me()'
                ));
                if (is_array($result) && isset($result[0])) {
                    foreach ($result[0] as $key => $value){
                        $this->$key = $value;
                    }
                    $this->isLogged = true;
                }else{
                    $this->isLogged = false;
                }

            }
但是getUser()也让我失望


我必须说,我现在只在Google Chrome上遇到了这个问题,我曾尝试在opera、firefox上这样做,但它们的反应很好。

在Google Chrome上,控制台上显示了什么错误?控制台中没有错误,也没有登录到apache,我在日志中没有看到sdk记录的任何错误,这很可能是Chrome不接受JSSDK设置的cookies的问题,所以请检查一下。你认为我应该遵循哪些cookies?我扩展了我的调试,发现如果签名的请求保存在cookie上,那么身份验证就可以工作,但不知怎么的,问题可能比这更大。我投票结束这个问题,因为使用了过时的API
self::$facebook = new Facebook(array(
            'appId'  => self::APP_ID,
            'secret' => self::SECRET,
            'cookie' => true,
                    'sharedSession' => true //i really don't know if this has any effect
        ));
        $this->accessToken = self::$facebook->getAccessToken();
                if ($this->accessToken) {
                    self::$facebook->setExtendedAccessToken($this->accessToken);
                }
        $this->populateThis();
$uid = self::$facebook->getUser();

            if ($uid) {
                $result = self::$facebook->api(array(
                    'method' => 'fql.query',
                    'query' => 'SELECT uid, name, email FROM user WHERE uid = me()'
                ));
                if (is_array($result) && isset($result[0])) {
                    foreach ($result[0] as $key => $value){
                        $this->$key = $value;
                    }
                    $this->isLogged = true;
                }else{
                    $this->isLogged = false;
                }

            }