我需要使用Javascript获取facebook用户uid,性别,照片和其他个人资料数据。
我记得有一种获取.id,.gender,.photo的用户对象的方法,但是我没有得到API调用的副本,我在文档中找不到解释。
如何使用Javascript获取用户UID和性别?
由于
答案 0 :(得分:21)
2011年对此问题的接受答案中使用的函数FB.getSession()
现已(2012年)弃用并从Facebook JS SDK中删除。
您仍然可以使用getLoginStatus()
方法发现用户的Facebook ID,如下所示:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert ("Your UID is " + response.authResponse.userID);
}
});
注意:您仍然必须初始化Facebook API并在您的HTML中放置fb-root
元素,例如Aleadam在接受的答案中解释。
答案 1 :(得分:20)
更新:我在答案中添加了更多细节:
首先,您需要调用FB.init并添加您的应用ID:
FB.init(
{
appId : APP_ID,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
接下来,检查是否有会话打开(即用户已登录)
if(FB.getSession() != null) {
通过以下方式查询详细信息:
FB.api('/me', function(response)
{
alert ("Welcome " + response.name + ": Your UID is " + response.id);
});
}
您还需要将<div id="fb-root"></div>
添加到您网页的<body>
,然后加载<script src="http://connect.facebook.net/en_US/all.js"></script>
用户个人资料图片可以http:/graph.facebook.com/USERID/picture/
点击此处查看图表API参考:http://developers.facebook.com/docs/reference/api/user/
以及此处的FB SDK参考:http://developers.facebook.com/docs/reference/javascript/
答案 2 :(得分:0)
在您应用的authorization parameter中,确保验证令牌参数配置为 URI片段。
使用javascript的登录过程在facebook文档中进行了解释:Getting started with Facebook login。
按照三个步骤,已经编写了源代码。