我想知道我们可以使用facebook ID检查facebook用户的性别吗。
答案 0 :(得分:6)
是的,您可以使用Graph API查询用户,这里是我的对象,正如您所看到的,我有一个名为gender的属性,我相信如果用户已将其设置为此属性,则可以隐藏此属性,所以永远不要认为这是在回应......
这还要求目标用户授予您的应用程序基本信息访问权。
{
"id": "754124803",
"name": "Daniel Phillips",
"first_name": "Daniel",
"last_name": "Phillips",
"link": "https://www.facebook.com/daniel.j.p",
"username": "daniel.j.p",
"gender": "male",
"timezone": 0,
"locale": "en_GB",
"verified": true,
"updated_time": "2012-02-04T16:00:42+0000",
"type": "user"
}
如果您只想测试一下,请使用Graph API Explorer:https://developers.facebook.com/tools/explorer/
答案 1 :(得分:1)
你没有提到你使用哪种SDK我假设你使用PHP
下面是PHP代码,我想如果你可以使用任何其他SDK,你也可以使用
下面的代码有一些必要的更改,是的,这个代码是完美的工作我测试此代码之前回答:)
<?php
//get the user gender
$user_id = $facebook->getUser();
$user_profile = $facebook->api('/me','GET');
$user_gender = $user_profile['gender'];
echo "Gender: " . $user_gender;
?>
如果用户性别不公开,则需要user_about_me
权限,如果用户朋友将此设置为公开,您还可以使用friends_about_me
权限获取用户朋友的性别
下面是您在授权代码中进行一些更改所需的授权码,使用上面的代码
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . ("&scope=email,read_stream,publish_stream,offline_access,publish_actions,user_about_me,fiends_about_me&response_type=token"