我有以下代码,可以很好地登录和退出Facebook,但我无法显示用户的名字 - 此刻我甚至无法弄清楚我是否未能抓住它或者只是未能显示它。
<!DOCTYPE html><html lang="en"><head><title>New Document</title><link rel="stylesheet" href="/stylesheets/style.css"><div id="fb-root"></div><script>window.fbAsyncInit = function() {
FB.init({
appId : 'my_api_key',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function() {
window.location = "http://my.site/doc";
});
FB.Event.subscribe('auth.logout', function() {
window.location = "http://my.site/";
});
FB.api('/me', function(user) {
if (user) {
var image = document.getElementById('image');
image.src = 'https://graph.facebook.com/' + user.id + '/picture';
var name = document.getElementById('name');
name.innerHTML = user.name;
}
});
};
(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></head>
答案 0 :(得分:0)
当你进入
FB.api('/me', function(user) { if (user) {
我不知道您是在检查错误代码还是用户甚至没有登录。
您应该在FB.getLoginStatus()调用中包围FB.api调用,以确保您已登录。
答案 1 :(得分:0)
var image = document.getElementById('image');
image.src = 'https://graph.facebook.com/' + user.id + '/picture';
var name = document.getElementById('name');
name.innerHTML = user.name;
alert(name)
说你需要
<img id='image' />
<div id='name'></div>
标记中的(正文标记之间)