使用JavaScript SDK获取Facebook用户数据

时间:2016-07-05 11:00:44

标签: javascript facebook facebook-graph-api

这确实是一个新手问题,但我已经挣扎了几个小时,所以欢迎任何帮助。

我尝试在用户身份验证后获取Facebook用户数据。基本上我只想要名称和个人资料图片,但我似乎无法找到获取这些数据的方法。

在我的身体标签之后,我有以下代码:

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

    (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'));

    function login() {
    FB.login(function(response) {
      if (response.status === 'connected') {
          document.getElementById('status').innerHTML = '<p>Autenticação realizada com sucesso!</p> <br> <br> <p> Escreva sua proposta abaixo.</p> ';
          document.getElementById('login').style.visibility = 'hidden';
        } else if (response.status === 'not_authorized') {
          document.getElementById('status').innerHTML = '<p> Você não está autenticado. Por favor, faça o login.</p> <div onclick="login()"> Logar </div>'
        } else {
          document.getElementById('status').innerHTML = '<p> Você não está autenticado. Por favor, faça o login.</p> <div onclick="login()"> Logar </div>';
        }
    }, {scope: 'publish_actions'});
  }

  FB.api('/me', {fields: 'last_name'}, function(response) {
    console.log(response);
  });


  </script>

身份验证功能非常有效。但问题是我何时获取用户数据。我不知道该怎么做,我在Facebook Developers页面上看到了代码:

FB.api('/me', {fields: 'last_name'}, function(response) {
console.log(response);

});

但是当我进入控制台日志时,它说FB未定义。我也找不到在我的页面上打印这些数据的方法。我想要做的是将名称和配置文件图片值传递给表单。有人可以帮我吗?

0 个答案:

没有答案