无法使用HTML FB.api中的Javascript获取Facebook个人资料照片(' / me'

时间:2016-07-03 18:08:19

标签: javascript facebook facebook-javascript-sdk

我试图获取Facebook个人资料图片以及包含我的网站用户个人资料名称的欢迎:www.bolbihari.com

但只有文字显示但不是图片。

这是我的代码:



<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '642539989247175',
      xfbml      : true,
      version    : 'v2.6'
    });

    function onLogin(response) {
  if (response.status == 'connected') {
    FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id,picture.width(150).height(150)'}, function(data) {
      var welcomeBlock = document.getElementById('fb-welcome';);
      welcomeBlock.innerHTML = 'Hello ' + data.first_name + ','+ ' Welcome to BolBihari!';
	  var welcomeImage = document.getElementById('fb-welcome');
	  welcomeImage.innerHTML = "<img src="' + response.picture.data.url + '"/>";
    });
  }
}



FB.getLoginStatus(function(response) {
  // Check login status on load, and if the user is
  // already logged in, go directly to the welcome message.
  if (response.status == 'connected') {
    onLogin(response);
  } else {
    // Otherwise, show Login dialog first.
    FB.login(function(response) {
      onLogin(response);
    }, {scope: 'user_friends, public_profile', email'});
  }
});
// ADD ADDITIONAL FACEBOOK CODE HERE
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

  
&#13;
&#13;
&#13;

这是此

的HTML代码

&#13;
&#13;
<div>
  <center><h2 id='fb-welcome'/></center>
    </div> 
&#13;
&#13;
&#13;

访问我的网站www.bolbihari.com,查看此代码的正在运行的文本部分。

1 个答案:

答案 0 :(得分:0)

语法:response.picture.data.url无效,因为response是未定义的变量。

您正在data变量中收集来自FB.api的回复;所以你应该使用data.picture.data.url