如何使用JS SDK登录后获取用户信息

时间:2011-08-02 17:14:11

标签: javascript facebook-graph-api

我的标题中有这个:

<script src="http://connect.facebook.net/en_US/all.js"></script>

然后我有这样的FB登录按钮代码:

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=myAppId&amp;xfbml=1">
</script><fb:login-button show-faces="false" perms="user_hometown,user_about_me,email,user_address"
autologoutlink="true" width="200" max-rows="1">
</fb:login-button>

然后在用户使用FB按钮登录后,如何进行JS调用以获取他们的姓名,电子邮件,照片等?

我也发现了一些像这样的代码,但不知道在哪里使用它:

<script>
  FB.init({
    appId  : 'myAppId',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true, // parse XFBML
    channelURL : 'http://www.comehike.com/channel.html', // channel.html file
    oauth  : true // enable OAuth 2.0
  });
</script>

我是否需要上面的代码?

谢谢!

1 个答案:

答案 0 :(得分:13)

<html>
<head> ... </head>
<body>
    <div id="fb-root"></div>

    <fb:login-button show-faces="false" perms="user_hometown,user_about_me,email,user_address" autologoutlink="true" width="200" max-rows="1"></fb:login-button>


    <!-- put this before the end body tag -->
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
      FB.init({
        appId  : 'myAppId',
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml  : true, // parse XFBML
        channelURL : 'http://www.comehike.com/channel.html', // channel.html file
        oauth  : true // enable OAuth 2.0
      });
    </script>
</body>
</html>

获取已记录的用户数据:

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

如果一切顺利response应该是一个包含您有权查看的用户数据的JSON对象。

用户图片可以来自:

http://graph.facebook.com/FACEBOOK_USER_ID/picture

您可以使用类型参数

指定所需的大小
  • square - 50x50
  • 小 - 50像素宽,可变高度
  • 正常 - 宽100像素,高度可变
  • 大 - 约200像素宽,可变高度

例如:

http://graph.facebook.com/FACEBOOK_USER_ID/picture?type=large