2016-05-24 6 views
-1

私は働くユーザー登録とログインシステムを持つウェブサイトを持っています。最近、Facebookのサインアップオプションを追加することに決めました。サインアップページにFacebookのサインインボタンを追加し、サインイン時にメール、名字、名字を取得して、詳細を入力する必要がないようにします。Facebook PHP Web SDKを正しく使用するためにヘッダには何を配置しますか?

含むFacebookの開発者向けのヘルプドキュメントのほとんどかかわらず、私が読ん

https://developers.facebook.com/docs/php/howto/example_facebook_login

https://developers.facebook.com/docs/php/howto/example_retrieve_user_profile

これらのリンクは、ログインするユーザーをできるようにし、どのように自分のプロファイルからユーザデータを取得する方法を私に指示。

私はそれらの部品がどのように機能するのか理解していますが、それらをまとめる方法はわかりません。誰も私にそうする方法を教えてもらえますか?大変ありがとう!

答えて

0

[OK]を、私はようやくので、最初の部分は、ファイルを正しく設定することです...それを行う方法を

を見つけました。ここではあなたがそれを行う方法です。

あなたのウェブサイトのメインディレクトリに「SRC」フォルダ内のファイル秒を

  • (here) FBプラスからのPHP SDKキットをダウンロードfbとリンクしたいページを作ることです:

    1. fbオートロードページiを含めるn個のファイル
    2. の上部に require_once 'autoload.php';を行うことによって、あなたのPHPページは

      $ FB =新しいFacebookの\ Facebookを利用して配置することで、あなたのアプリを使用するFBを許可([ は=> 'XXXXXXXXXXXXXXXX' 'APP_ID'、 'app_secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXX'、 'default_graph_version' => 'v2.6'、 ]);

    3. 第一ステップで右のコードの後に​​

    これはFBのユーザープロファイルにリンクするようにコードを開始すべきかbasiclyです。次のコードは、ユーザーの名前、電子メール、プロフィール画像を取得するために使用したコードです。

    <?php 
    session_start(); 
    require_once 'Facebook/autoload.php'; 
    
    $fb = new Facebook\Facebook([ 
        'app_id' => 'XXXXXXXXXXXXXXXX', 
        'app_secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXX', 
        'default_graph_version' => 'v2.6', 
        ]); 
    
    $helper = $fb->getRedirectLoginHelper(); 
    
    $permissions = ['email']; // optional 
    
    try { 
        if (isset($_SESSION['facebook_access_token'])) { 
         $accessToken = $_SESSION['facebook_access_token']; 
        } else { 
         $accessToken = $helper->getAccessToken(); 
        } 
    } catch(Facebook\Exceptions\FacebookResponseException $e) { 
        // When Graph returns an error 
        echo 'Graph returned an error: ' . $e->getMessage(); 
    
        exit; 
    } catch(Facebook\Exceptions\FacebookSDKException $e) { 
        // When validation fails or other local issues 
        echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
        exit; 
    } 
    
    if (isset($accessToken)) { 
        if (isset($_SESSION['facebook_access_token'])) { 
         $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); 
        } else { 
         // getting short-lived access token 
         $_SESSION['facebook_access_token'] = (string) $accessToken; 
    
         // OAuth 2.0 client handler 
         $oAuth2Client = $fb->getOAuth2Client(); 
    
         // Exchanges a short-lived access token for a long-lived one 
         $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); 
    
         $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; 
    
         // setting default access token to be used in script 
         $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); 
        } 
    
        // redirect the user back to the same page if it has "code" GET variable 
        if (isset($_GET['code'])) { 
         header('Location: ./'); 
        } 
    
        // getting basic info about user 
        try { 
         $profile_request = $fb->get('/me?fields=name,first_name,last_name,email'); 
         $requestPicture = $fb->get('/me/picture?redirect=false&height=300'); 
         $picture = $requestPicture->getGraphUser(); 
    
         $profile = $profile_request->getGraphNode()->asArray(); 
        } catch(Facebook\Exceptions\FacebookResponseException $e) { 
         // When Graph returns an error 
         echo 'Graph returned an error: ' . $e->getMessage(); 
         session_destroy(); 
         // redirecting user back to app login page 
         header("Location: ./"); 
         exit; 
        } catch(Facebook\Exceptions\FacebookSDKException $e) { 
         // When validation fails or other local issues 
         echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
         exit; 
        } 
    
        // printing $profile array on the screen which holds the basic info about user 
    
        // Now you can redirect to another page and use the access token from $_SESSION['facebook_access_token'] 
    } else { 
        // replace your website URL same as added in the developers.facebook.com/apps e.g. if you used http instead of https and you used non-www version or www version of your website then you must add the same here 
    $loginUrl = $helper->getLoginUrl('http://xxxxx', $permissions);  
    echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $loginUrl . '">';} 
    ?> 
    

    私は〜さようなら、これも私のように立ち往生している人を助けることができることを望む

  • 関連する問題