我正在使用Facebook Connect应用程序。我已启动并运行“连接”按钮,用户可以通过Facebook成功进行身份验证。但是,我无法使用XFBML显示其个人资料图片和名称。下面是我在做什么:当使用facebook-logo =“true”选项时,Facebook Connect API未填充用户数据
<script type="text/javascript">
function fb_login_handler() {
var userbox = document.getElementById("fb_userbox");
userbox.innerHTML =
"<span>"
+ "<fb:profile-pic uid=loggedinuser facebook-logo='true'></fb:profile-pic>"
+ "Welcome, <fb:name uid=loggedinuser useyou='false'></fb:name>"
+ "</span>";
FB.XFBML.Host.parseDomTree();
}
</script>
...
<div id="fb_userbox">
<fb:login-button onlogin="fb_login_handler();" autologoutlink="1" length="long"></fb:login-button>
</div>
...
<!-- Facebook Connect initialization -->
<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("[MY_API_KEY]", "/xd_receiver.htm",
{ "ifUserConnected" : fb_login_handler });
</script>
我可以连接按钮登录成功,以及JavaScript回调获取运行,但我刚刚结束了与此:
http://www.friedo.com/fbuserbox.png
因此,图片和名称都没有被填充。即使我硬编码我的FB配置文件ID代替loggedinuser
,也会发生同样的情况。
更新:好像(后随机乱搞),我可以得到它的工作,如果我关掉从fb:profile-pic
标签facebook-logo
属性。将其设置为false(或删除它)会导致用户框正确呈现。但我也需要Facebook徽标才能工作。 :(
您是否试图查看这是否是特定于浏览器的? –
这是一个很好的观点,我还没有在其他浏览器中尝试过。 – friedo