2012-03-11 12 views
0

Facebookのもので新しいBeeing。ログイン後にどのようにユーザー情報を取得しますか?ここで コードです:Facebookログインログアウトの実装

<html> 
<head> 
    <title>My Facebook Login Page</title> 
</head> 
<body> 
    <div id="fb-root"></div> 
    <script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId  : 'APP_ID', 
     status  : true, 
     cookie  : true, 
     xfbml  : true, 
     oauth  : true, 
     }); 
    }; 
    (function(d){ 
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
     js = d.createElement('script'); js.id = id; js.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js"; 
     d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 
    </script> 
    <p><fb:login-button autologoutlink="true"></fb:login-button></p> 
</body> 

私は偉大な...私はauth.loginイベントをサブスクライブしてからFB.apiを使用する必要があの赤いしかし、あなたはそれをどのように行うのですか?

私は次のことを試してみました:助けを

<html> 
<head> 
    <title>My Facebook Login Page</title> 
</head> 
<body> 
    <div id="fb-root"></div> 
    <script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId  : 'APP_ID', 
     status  : true, 
     cookie  : true, 
     xfbml  : true, 
     oauth  : true, 
     }); 
    }; 
    FB.auth.login{ 
     FB.api('/me', function(response) { 
      alert(response.name); 
     }); 
     } 
    }; 

    (function(d){ 
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
     js = d.createElement('script'); js.id = id; js.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js"; 
     d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 
    </script> 
    <p><fb:login-button autologoutlink="true"></fb:login-button></p> 
</body> 

感謝を。そして

など、申し訳ありません私は...

答えて

1

愚かに見える場合は、(FB.initを使用して)FacebookのSDKを初期化したら、あなたは要求のためにそれを使用して起動することができ、イベントdocumentationは約5 認証を語ります方法。必要なものは、ユーザーが何をしたいのか、ユーザーがアプリケーションを既に承認しているか、使用しようとしている権限によって異なります。

ユーザーがアプリケーションにログインしていない場合は、loginメソッドを使用する必要があります。彼はすでにログインしている、またはあなたが彼の状態はgetLoginStatusを使用するかわからない場合は

FB.login(function(response) { 
    if (response.authResponse) { 
     // logged in 
    } 
    else { 
     // not logged in 
    } 
}); 

を:

FB.getLoginStatus(function(response) { 
    if (response.status === "connected") { 
     // the user is logged in and has authenticated your app 
     FB.api("/me", function(apiresponse) { 
      console.log("api result: ", apiresponse); 
     }); 
    } 
    else if (response.status === "not_authorized") { 
     // the user is logged in to Facebook, but has not authenticated your app 
    } 
    else { 
     // the user isn't logged in to Facebook. 
    } 
}); 

apiリクエストを作成するには、私が与えた例のようにapiメソッドを使用します。非常に初心者のため

+0

感謝を助けのため:私はNizanがくれたコードの一部を入れて、以下のようFB.initを呼び出した後、それを追加する必要がありました。 –

0

は:

<html> 
<head> 
    <title>My Facebook Login Page</title> 
</head> 
<body> 
<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 'APP_ID', 
    status  : true, 
    cookie  : true, 
    xfbml  : true, 
    oauth  : true, 
    }); 
    FB.getLoginStatus(function(response) { 
if (response.status === "connected") { 
    // the user is logged in and has authenticated your app 
    alert("You are logged in"); 
} 
else if (response.status === "not_authorized") { 
    // the user is logged in to Facebook, but has not authenticated your app 
} 
else { 
    alert("You are not logged"); 
} 
}); 
}; 
(function(d){ 
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    d.getElementsByTagName('head')[0].appendChild(js); 
}(document)); 
</script> 
<p><fb:login-button autologoutlink="true"></fb:login-button></p> 
</body> 
</html> 
関連する問題