我剛剛開始將Facebook整合到目前正在處理的網站上。到目前爲止,我所擁有的是用戶可以登錄並在登錄後獲得他們的信息。我正在努力理解的是,如何在初始登錄html頁面之後調用FB.api()調用?我知道JavaScript SDK自動處理訪問令牌和東西,但我不確定如何使用它。到目前爲止,我所擁有的是:如何在使用Javascript SDK進行初始登錄後使用Facebook API調用
window.fbAsyncInit = function() { FB.init({ appId : 'API_KEY', // Set YOUR APP ID channelUrl : 'DOMAIN', // Channel File status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true // parse XFBML }); FB.Event.subscribe('auth.authResponseChange', function(response) { console.log("Authorization Change"); if (response.status === 'connected') { console.log("Connected to FaceBook"); //SUCCESS } else if (response.status === 'not_authorized') { console.log("Logged into Facebook but not us"); FacebookLogin(); //FAILED } else { console.log("Logged out of both"); FacebookLogin(); //UNKNOWN ERROR } }); }; function FacebookLogin() { FB.login(function(response) { if (response.authResponse) { window.location = "test.php"; } else { console.log('User cancelled login or did not fully authorize.'); } },{scope: 'email,user_birthday,read_friendlists'}); } // Load the SDK asynchronously (function(d){ var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; ref.parentNode.insertBefore(js, ref); }(document));
所有這些代碼都位於登錄html頁面頂部的腳本標記內。我要做的是一旦用戶登錄並進行身份驗證,我將引導他們到另一個頁面,我將使用FB.api()函數獲取他們的信息並填寫他們的註冊表單。任何建議或提示?
什麼錯誤? FB.ui()'的代碼? – glautrou
我試過的是在用戶登錄後重定向頁面,然後在重定向頁面中,我嘗試使用FB.api()獲取信息,因爲我認爲它是由Facebook Javascript SDK管理的? – derekdt
@derekdt任何運氣搞清楚這一點?我現在自己也遇到同樣的問題 – bks