Facebook的api突然停止工作
我有这个Facebook的js api代码,它一直工作到一天回来... 现在它已经突然停止工作.. 即时通讯使用它为一个拼贴项目,其可能我的合作伙伴可能已经拨弄着它,但我不能似乎发现了什么不对的地方......Facebook的api突然停止工作
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" >
var access_token;
FB.init({
appId:'XYZ',
cookie:true,
status:true,
xfbml:true
});
FB.Event.subscribe('auth.login', function(response) {
login_event();
});
function login_event(){
FB.api("/me",function(user){
var request = new XMLHttpRequest();
request.onreadystatechange=function(){
uid = user.id;
if(request.readyState==4 && request.status==200){
$("#middle").load("login_manager.php?uid="+uid);
}
}
request.open("GET", "sessions.php?uid="+uid, true);
request.send();
})
}
if(navigator.appCodeName=="Mozilla"){
FB.getLoginStatus(function(response) {
document.getElementById("middle").innerHTML = "<img src=\"../images/loading-round2.gif\">";
if (response.session) {
access_token = response.session.access_token;
FB.api('/me', function(user) {
if (user!=null) {
var uid = user.id;
var request = new XMLHttpRequest();
request.open("GET", "sessions.php?uid="+uid, true);
request.send();
request.onreadystatechange=function(){
if(request.readyState==4 && request.status==200){
$("#middle").load("login_manager.php");
}
}
}
});
}
else{
document.getElementById("middle").innerHTML = '<fb:login-button perms="email,user_checkins,offline_access,publish_stream">Login with Facebook</fb:login-button>';
FB.XFBML.parse(document.getElementById('middle'));
}
});
}
</script>
它一点儿也不似乎进入了getLoginStatus()函数
它已经开始工作了.. 正是在Facebook的结束
您可以使用firebug或alert语句来调试您的javascript。今天我尝试了以下JS类似于你的脚本,这个工作对我来说:
<fb:login-button autologoutlink="true"></fb:login-button>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '159618137417054',//enter your app id
status: true,
cookie: true,
xfbml: true
});
FB.Event.subscribe('auth.login', function (response) {
window.location.reload();
});
};
(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);
}());
alert('FB API Test')
FB.api('/me', function (response) {
alert(response.name)
alert(response.id);//now my facebook ID is available to javascript
});
</script>
我已经尝试过萤火虫和chromes开发人员工具.. 都不给我任何错误..我复制粘贴您的代码,并给我的名称和ID为“undefined” –
当FB登录按钮更改为“注销”时,您是否尝试进行浏览器刷新? FB登录按钮是否完全显示,是否更改为“注销”?我可以检查的测试是在这里http://niklas-app.appspot.com/user/login我可以显示一个登录按钮,通过Facebook进行身份验证并通过javascript显示我的Facebook名称和ID。如果FB登录按钮没有更改为“注销”,那么在某处出现了错误。我可以尝试原始问题中的代码,看看它是如何比较的。 –
thers东西额外的你需要添加到他的Facebook的按钮标签为它改变.. ,我不希望它改变为注销..实际上,我显示的用户信息,而不是按钮 –
问题,是我的应用程序ID是正确的在实际的代码...并没有任何的Facebook的例子似乎工作要么(我只是代替应用程序ID) –