私は最近、現在取り組んでいるウェブサイトに Facebook を統合し始めました。これまでのところ、ユーザーはログインでき、ログイン後に情報を取得できます。私が理解するのに苦労しているのは、最初のログイン HTML ページの後に FB.api() 呼び出しを行う方法です。Javascript SDK がアクセス トークンなどを自動的に処理することは知っていますが、それをどのように使用するかはわかりません。私がこれまでに持っているものは次のとおりです。
window.fbAsyncInit = 関数()
{
FB.init({
appId : 'API_KEY', // アプリ ID を設定
channelUrl : 'DOMAIN', // チャンネル ファイル
status : true, // ログイン状態をチェック
cookie : true, // Cookie を有効にして、サーバーがセッションにアクセスできるようにします
xfbml : true // XFBML を解析します
});
FB.Event.subscribe('auth.authResponseChange', function(応答)
{
console.log("権限変更");
if (response.status === '接続')
{
console.log("FaceBook に接続しました");
//成功
}
そうでなければ (response.status === 'not_authorized')
{
console.log("Facebook にログインしましたが、私たちではありません");
フェイスブックログイン();
//失敗した
}
そうしないと
{
console.log("両方からログアウトしました");
フェイスブックログイン();
//未知のエラー
}
});
};
関数 FacebookLogin()
{
FB.login(関数(応答)
{
if (response.authResponse)
{
window.location = "test.php";
}
そうしないと
{
console.log('ユーザーがログインをキャンセルしたか、完全に承認しませんでした。');
}
},{scope: 'email,user_birthday,read_friendlists'});
}
// SDK を非同期でロードする
(関数(d){
var js、id = 'facebook-jssdk'、ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('スクリプト'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(資料));
このコードはすべて、ログイン HTML ページの上部にあるスクリプト タグ内にあります。ユーザーがログインして認証されたら、FB.api() 関数を使用して情報を取得し、登録フォームに入力する別のページにユーザーを誘導します。提案やヒントはありますか?