私は最近、現在取り組んでいるウェブサイトに 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() 関数を使用して情報を取得し、登録フォームに入力する別のページにユーザーを誘導します。提案やヒントはありますか?