Facebook JS SDK的FB.api('/ me')方法不会返回我在Graph API v2.4 +中所期望的字段
我试图获得一些基本的信息使用Facebook的API,但到目前为止,我只得到用户的名称和ID。 如{ name: "Juan Fuentes", id: "123456" }
我需要获取电子信息,如电子邮件,名字,姓氏和生日
这是我的js代码
function facebookLogin() { FB.login(function(response) { var token = response.authResponse.accessToken; var uid = response.authResponse.userID; if (response.authResponse) { FB.api('/me', 'get', { access_token: token }, function(response) { console.log(response); }); FB.api('/'+uid, 'get', { access_token: token }, function(response) { console.log(response); }); } }, { scope: 'public_profile' } ); }
这是激活它的button
<a id="fb-login" href="#" onclick="facebookLogin()"></a>
自Graph API v2.4开始,您需要手动指定每个字段:
- https://developers.facebook.com/docs/apps/changelog#v2_4
- https://developers.facebook.com/docs/javascript/reference/FB.api
声明性字段
为了提高移动networking的性能,v2.4中的节点和边缘要求您明确地请求您的GET请求所需的字段。 例如,GET /v2.4/me/feed默认不再包含喜欢和评论,但GET /v2.4/me/feed?fields=comments,likes将返回数据。 有关更多详细信息,请参阅有关如何请求特定字段的文档。
例如
FB.api('/me', 'get', { access_token: token, fields: 'id,name,gender' }, function(response) { console.log(response); });
对于来自public_profile作用域的数据,也可以使用这种语法(在Graph API v2.9中testing):
FB.api('/me?fields=birthday,link,gender,age_range', function(response) { console.log(response); });
您可以在Graph API Explorer中在线testing可能的值,只需点击“Get Token”button:
- FacebookgraphicsAPI将不会返回电子邮件地址
- 在Android上传video到Facebook
- 检查扩展权限与新的Facebook的JavaScript的SDK
- Chrome webkit inspector中不断产生“不安全的JavaScript尝试访问带有URL的帧…”错误
- 在android studio中使用Facebook的SDK
- facebook社交插件在动态添加时不会显示
- Facebook Graph API – 使用JavaScript上传照片
- Python – Facebook的API – 需要一个工作的例子
- 无法添加窗口 – 令牌android.os.BinderProxy无效; 你的活动正在运行?