あなたの質問が正しく分かっていれば、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がメインページ自体に表示され、ボタンがクリックされると展開されます。
素晴らしい!情報をありがとう!だから私は、FBUserが管理者であることを確認した後、私は私のAPI(すなわち:userID)から正しい値を渡し、Facebookはそれを保存し、それをページ・タブにロードするでしょうか?例えば、私がバンドのウェブサイトを持っていてFBページに自分のアプリを追加した場合、自分のウェブサイトからバンドのプロファイルID、写真のID、説明などをロード/保存する必要があります。このアプリは各ユーザーごとに動的になります。 – Naomi
アプリがページ内に読み込まれると、リクエストデータにページIDが表示されます。その時点のページに関する詳細については、Graph APIに問い合わせることができます。その後、自分のデータベースにローカルに必要なものをすべて保存することは、あなた次第です。ほとんどのアプリケーション(私自身のアプリFanBldrなど)は、未知のページIDに遭遇したときに「ページ未設定」というメッセージを表示します。ユーザーが管理者の場合、ページ設定を編集するプロンプトが表示されます。 –