2011-09-10 24 views
0

私のポータルからFacebookアプリケーションにユーザー情報(例:userID、電子メールアドレス)を渡す必要があります。管理者のためにFacebook Appタブを作成する

これまでのところ、私は自分のメールアドレスとパスワードを入力できるように、Facebookの管理者用ランディングページ/ダッシュボードを作成することに決めました。私はFacebookのタブに追加するuserIDを取得し、すべての情報を読み込みます。

今、私はFacebookに必要な値を渡していることを知り、それをユーザーのFacebook Likeのページにロードする必要があります。

これが適切な使用方法であるか、どこから始めるべきかわかりません。

答えて

0

あなたの質問が正しく分かっていれば、Facebookアプリケーションの管理ページの一般的なパターンを知りたいと思っています。

あなたのページを閲覧しているユーザーが管理者であるかどうかを確認し、編集ページに安全なリンクを出力すると、Facebook経由で接続して再度確認してから、管理タスクを実行する必要があります。

ユーザーがページの管理者であるかどうかを判断するには:署名された要求データを解析するときは、page.adminの値が表示されます。署名されたリクエストデータがない場合は、そのユーザーが管理者ではないとみなすことができます。 PHP SDKを使用して、署名されたリクエストデータを解析したり、独自のものを書くことができます。私は自分のライブラリを書いています。なぜなら、PHP SDKは少し使いにくいからです。 https://bitbucket.org/tlack/xfb

管理者であることがわかったら、管理ページへのリンクを出力します。そのページでは、JS SDKを使用して典型的なFB Connectを実行します。ここで私が要求に自分のドメインの旅のFacebookアプリで使用して、私は後のページを操作するために使用してオフラインアクセストークンを保存少し例を示します

<div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script type="text/javascript"> 
    FB.init({ 
    appId : '<?= $app_id; ?>', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    oauth : true // enable OAuth 2.0 
    }); 
    function login() { 
    var callback = function(response) { 
     if (response.authResponse) { 
     console.log('Welcome! Fetching your information.... '); 
     FB.api('/<?= $_REQUEST['id']; ?>?fields=access_token', 
      function(response) { 
      if (response.access_token) { 
       document.location = 'edit_permission.php?id=<?= $_REQUEST['id']; ?>&at='+response.access_token; 
      } else { 
       alert("Could not get permission to access page. Please contact [email protected]"); 
      } 
      } 
     ); 
     } else { 
     document.location = '<?= get_my_url(); ?>&f=1'; 
     } 
    }; 
    FB.login(callback, {scope: 'offline_access,manage_pages'}); 
    } 
    </script> 
    <p> 
    We need permission to interact with your Facebook page. 
    </p> 
    <p> 
    <button onclick="login(); return false;">Login Now</a> 
    </p> 

あなたが本当に空想を取得したい場合は、管理者の編集を持つことができますUIがメインページ自体に表示され、ボタンがクリックされると展開されます。

+0

素晴らしい!情報をありがとう!だから私は、FBUserが管理者であることを確認した後、私は私のAPI(すなわち:userID)から正しい値を渡し、Facebookはそれを保存し、それをページ・タブにロードするでしょうか?例えば、私がバンドのウェブサイトを持っていてFBページに自分のアプリを追加した場合、自分のウェブサイトからバンドのプロファイルID、写真のID、説明などをロード/保存する必要があります。このアプリは各ユーザーごとに動的になります。 – Naomi

+0

アプリがページ内に読み込まれると、リクエストデータにページIDが表示されます。その時点のページに関する詳細については、Graph APIに問い合わせることができます。その後、自分のデータベースにローカルに必要なものをすべて保存することは、あなた次第です。ほとんどのアプリケーション(私自身のアプリFanBldrなど)は、未知のページIDに遭遇したときに「ページ未設定」というメッセージを表示します。ユーザーが管理者の場合、ページ設定を編集するプロンプトが表示されます。 –

関連する問題