我的网站正在使用Facebook Connect,但是一个月后它就无法运行了。我怀疑Facebook改变了一些东西。我试图找出答案,但这是不可能的。我有一个启动身份验证的Java文件,但我不知道该文件是否存在问题。好吧,基本上它连接,但它没有返回我的网站的注册表。
window.fbAsyncInit = function() {
FB.init({appId: cfg_facebook_app_id, status: true, cookie: true, xfbml: true});
//initial login check
FB.getLoginStatus(function(response) {
if (response.session) {
//logged in, force logout
FB.logout(function() {
//logged out, subscribe to events
loginEvents();
});
} else {
//not logged in
loginEvents();
}
});
function loginEvents() {
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
logout();
});
FB.Event.subscribe('auth.login', function(response) {
login(response);
//login redirects the user. Before logout fires()
});
}
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
function login(){
FB.api('/me', function(response) {
window.location = cfg_site_url + 'facebook_auth.php?hashcode='+response.id;
});
}
答案 0 :(得分:0)
尝试{}更新到新版本的javascript sdk https://developers.facebook.com/docs/reference/javascript/
截至2011年12月13日,JavaScript SDK现在仅支持OAuth 2.0用于身份验证。在JS SDK中启用OAuth 2.0的能力于7月首次推出。所有应用都提供到10月1日, 2011年进行测试和迁移。有了这个改变,请确保你 使用FB.getAuthResponse获取访问令牌。