我正在尝试将Facebook连接按钮放在网站上,并且一旦连接显示连接的用户名。但由于某些原因,下面的代码在第一次连接时进入一些无限循环,然后工作正常,除非我从我的Facebook个人资料中删除此应用程序,这会导致再次冻结。
这是FB连接按钮上的代码点击:
FB.Connect.requireSession();
这是代码直接在页面上:
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>
<script type="text/javascript">
FB.init("123", "/xd_receiver.htm");
FB.ensureInit(function() {
FB.Connect.ifUserConnected(function() {
FB.Facebook.apiClient.users_getInfo(new Array(FB.Connect.get_loggedInUser()),new Array("name"), function(user, exec) {
console.log("logged in:"+user[0].name);
});
}, function(){
console.log("guest");
});
});
</script>
如果我删除FB.Facebook.apiClient.users_getInfo()
它工作正常,但我需要以某种方式获取用户名。有什么提示吗?
感谢。
答案 0 :(得分:0)
为此,您需要将username参数作为数组传递:
FB.Facebook.apiClient.users_getInfo(new Array(FB.Connect.get_loggedInUser()),new Array("name","username"), function(user, exec) {
console.log("logged in:"+user[0].name);
});
答案 1 :(得分:0)
你可以这样;
FB.Facebook.apiClient.users_getInfo(loggedInUsersId, ['first_name','last_name','email','sex','birthday','username'], function(result,ex){
alert(result[0]['username']);
});