我想知道如何获取facebook用户的生日日期。 这是处理facebook api的代码:
<?php require 'src/facebook.php';
define("FB_APP_ID","***");
define("FB_SECRET","***");
$facebook = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_SECRET,
'cookie' => true,
));
$currentUser = $facebook->getUser();
if($currentUser) {
try
{
$facebook_profile = $facebook->api('/me');
$friends_fields = $facebook->api('/me/friends');
}
catch (FacebookApiException $e)
{
print_r($e);
$user = null;
}
}
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'user_birthday, birthday, date_birthday, email, offline_access, publish_stream'
)
);
$logoutUrl = $facebook->getLogoutUrl();
?>
我试过$ facebook_profile ['user_birthday']和$ facebook_profile ['birthday'] 但它不起作用。
我不知道该怎么办?你能帮我吗 ?
答案 0 :(得分:0)
可能有多种方法可以实现,但您应该可以通过the SDK api()
method通过FQL调用获取用户的生日:
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT birthday_date FROM user WHERE uid = me()',
));
$birthday = $result[0]['birthday_date'];
您需要拥有user_birthday
或friends_birthday
权限才能阅读birthday
和birthday_date
字段。
答案 1 :(得分:0)
正确的生日许可为user_birthday
确认您拥有权限
$permissions = $facebook->api('/me/permissions');
$permissions["data"][0]["user_birthday"];
看到你有facebook_profile
,你应该只是转储该回复的内容,看看你有什么。
同时确保用户 设置他/她的生日......