0
我正在從Facebook用戶獲取驗證,以訪問我正在構建的應用程序的基本信息。我正在使用PHP SDK和Javascript SDK。 Javascript是調用登錄屏幕,然後PHP將獲取數據並將其存儲在MySQL表中以在應用程序中使用。硬刷臉Facebook應用登錄身份驗證
這是一個應用程序,您可以對事物投票,我已經設置了這樣的「投票」按鈕是一個Facebook登錄按鈕,如果用戶未通過應用程序驗證。一切都很好,直到他們登錄的地步。它成功地將它們登錄(正常情況下在彈出的登錄對話框中),但無法成功刷新父窗口以反映更改。基本上,獲取用戶信息的唯一方法是登錄並手動刷新應用程序。然後它會正確發送所有數據。我試過location.reload(true);
,我試過父窗口重定向,但似乎沒有任何工作。
下面是我的javascript:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APP_ID', // App ID
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.login', function(resp) {
parent.window.location = 'MY_APP_URL';
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
有硬更有效的方式刷新父窗口?謝謝!
這有同樣的問題,正如我在說什麼。這是一個多頁面的iFrame應用程序,如果這使它有所不同。 – MillerMedia
也許你應該使用FB.getLoginStatus函數,響應對象有關於連接用戶的信息,FB.getLoginStatus(function(response)if(response.status ==='connected'){ // connected } else if(response.status ==='not_authorized'){ // not_authorized } else { // not_logged_in } }); –