2011-06-24 20 views
0

私は数日前にfb apiで遊び始めました。私はfb php-sdkを使用して、自分のサイトでFacebookのユーザーを認証しています。私は以下のコードを使用していますが、断続的に、私はなぜそれが分かりませんか?Facebook api php-sdk

<?php 
    session_start(); 


    require './library/facebook.php'; 
    include './library/fb_keys.php'; 

    // Create app instance 
    $facebook = new Facebook(array(
    'appId' => YOUR_APP_ID, 
    'secret' => YOUR_APP_SECRET, 
    )); 

    // Get User ID 
    $user = $facebook->getUser(); 

    //Check Access token 

    if ($user) { 
    try { 
    // Proceed with logged in user. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    //error_log($e); 
    $user = null; 
    } 
    } 

// Login or logout based on user state 
if ($user) { 
$logoutUrl = $facebook->getLogoutUrl(); 

    } else { 
    $loginUrl = $facebook->getLoginUrl(array('scope' => 'status_update, publish_stream', 'redirect_uri' => 'http://webaddress.com/web/')); 

    } 

    ?> 

これは私がhttps://github.com/facebook/php-sdk/からもらったコードの本当に簡単な作品です。

私は通常、すべてのクッキーおよび/またはセッションがクリアされたときにはログインできません。しかしfacebook.comサイトにログオンすると、再びすべての機能が動作するように見えます。セッションやクッキーの設定に関して何か不足していることを示しています。

ご協力いただければ幸いです。

答えて

0

私はあなたがログインページにリダイレクトされていないことを意味していると思いますか?

あなたはloginUrlを取得しますが、そこにユーザーをリダイレクトしていません。

これはイースリー$ loginUrl行の後に次のコードを追加することで行うことができます。

print '<script language="javascript" type="text/javascript"> top.location.href="'. $loginUrl .'"; </script>'; 

私が間違っている場合は、何があなたを停止し、あなたは「ログインできない」の下に意味を正確に何を教えてください