我正在努力从 Facebook 用户那里获得验证,以访问他们在我正在构建的应用程序上的基本信息。我正在使用 PHP SDK 和 Javascript SDK。Javascript 用于调用登录屏幕,PHP 用于获取数据并将其存储在 MySQL 表中以在应用程序周围使用。
这是一个应用程序,您可以在其中对事物进行投票,并且我已对其进行了设置,因此如果用户未使用该应用程序进行验证,则“投票”按钮是 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>
有没有更有效的方法来硬刷新父窗口?谢谢!