2011-12-29 12 views
2

私は自分のウェブサイトへのログイン目的でFacebookのログインAPIを使用しています。facebook login apiの使い方

<div id="fb-root"></div> 
    <script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId  : 'My_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> 
    <div class="fb-login-button" data-scope="email,user_birthday"> 
    Login with Facebook 
    </div> 

私はFacebookからの認証にこのコードを使用しています。しかし、ユーザーが設定されたクッキーからユーザーの情報を取得する方法を許可した後、どのユーザーが許可されているか、許可されていないことを知っておく必要があります。私のサイトはPHPに基づいています。

許可を与えた後にそのユーザーが認証されているかどうかを知り、その情報にアクセスする仕組みが必要です。ここで

+1

[facebook authentication guide](https://developers.facebook.com/docs/authentication/)を参照してください。グラフAPIには、[JS](https://developers.facebook.com/docs/reference/javascript/)や[PHP SDK](https://developers.facebook.com/docs/reference/php/)でアクセスできます。 。 –

答えて

0

は、私がログインに書いた簡単なPHP関数です:

function login($app_id, $post_login_url){ 

    $dialog_url= "http://www.facebook.com/dialog/oauth?" 
     . "client_id=" . $app_id 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&scope=publish_stream,user_photos"; 
    echo("<script>top.location.href='" . $dialog_url . 
     "'</script>"); 
} 

、ここでアクセストークンを取得するための簡単な関数で、コードがURLで返される:

function getAccessToken($app_id, $post_login_url, $app_secret, $code){ 

    $token_url= "https://graph.facebook.com/oauth/" 
     . "access_token?" 
     . "client_id=" . $app_id 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&client_secret=" . $app_secret 
     . "&code=" . $code; 
    $response = file_get_contents($token_url); 
    $params = null; 
    parse_str($response, $params); 
    return($params['access_token']); 

} 

私はそれが助けてくれることを願っています...