1

ここで説明されているのと同じ問題があります: Facebook ログイン: JavaScript と PHP SDK を組み合わせるには?

その間 (この質問の解決策は 1 年前に提案されました)、facebook と javascript の php-sdk が更新されましたが、それでも同じ問題が発生します。

これが私のセットアップです:

JS:

FB.init({
        appId: '<MyAppID>',
        status: true,
        cookie: true,
        xfbml: true,
        channelUrl: '<MyUrl>'
    });

PHP:

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();

関数 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でのみ発生していると言わざるを得ません。これをオペラ、Firefoxで実行しようとしましたが、それらはうまく反応しました。

4

0 に答える 0