0

アプリで Facebook にログインするために Facebook API を使用していますcodeigniter。ユーザーがすでに Facebook にログインしているが、アプリを承認していない場合を除いて、正常に動作しているようです。私は彼を私のアプリを承認するためにリダイレクトするgetLoginUrl()必要がありますが、それは決して起こりません!

私は本当に道に迷っており、解決策を探していました。

Facebookのログインクリックで呼び出されるインデックス関数は次のとおりです。

 $data=array(
                'redirect_uri' => '/facebookcontroller/handle_facebook_login/',
                'scope' => 'publish_stream,email'
            );

            redirect($this->fbconnect->getLoginUrl($data));

そして、私redirect_uriは有効です、私は再確認しました。

そのため、ユーザーがログインしている場合、ユーザーを承認する必要があるリダイレクト先にリダイレクトしようとしますgetloginurl()が、そうではありません。に直行しredirect_uriます。

4

1 に答える 1

1

ユーザーチェックしてますか?

    // Init the Facebook SDK
    $facebook = new Facebook(array(
           'appId'  => $app_id,
           'secret' => $app_secret,     
           'cookie' => true
    ));

    // Get the current user
    $user = $facebook->getUser();

if (!$user) {
        $loginUrl = $facebook->getLoginUrl(array(
            'scope' => $scope,
            'redirect_uri' => $app_url,
            ));

            echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    }
    else{        

    $user_profile = $facebook->api('/me');

    // STUFF
    }
于 2012-12-07T11:55:34.433 に答える