Php 无法获取用户';通过Facebook过生日
我一直试图通过Facebook Connect获得Facebook用户的生日,但我没有做到这一点。同样的代码以前工作过,在以前制作的其他站点(旧站点)上仍然工作,但似乎不再工作。代码如下:Php 无法获取用户';通过Facebook过生日,php,facebook,Php,Facebook,我一直试图通过Facebook Connect获得Facebook用户的生日,但我没有做到这一点。同样的代码以前工作过,在以前制作的其他站点(旧站点)上仍然工作,但似乎不再工作。代码如下: require_once ('./connect/facebook.php'); $facebook = new Facebook("myapi", "mysecret"); $fbuser = $facebook->get_loggedin_user(); if ($fbuser) { $
require_once ('./connect/facebook.php');
$facebook = new Facebook("myapi", "mysecret");
$fbuser = $facebook->get_loggedin_user();
if ($fbuser)
{
$_SESSION['custid'] = $fbuser;
$fb_look_fields = array(
'name',
'first_name',
'last_name',
'name',
'timezone',
'name',
'sex',
'birthday',
'birthday_date',
'current_location',
'proxied_email',
'affiliations'
);
try
{
$user_data = $facebook->api_client->users_getInfo($fbuser, $fb_look_fields);
}
catch (Exception $e)
{
echo $e->getMessage();
}
# for birth date
$fb_birthday = $user_data[0]['birthday'];
if (!$fb_birthday)
{
$fql_result_xml = $facebook->api_client->fql_query("SELECT birthday FROM standard_user_info WHERE uid = " . $fbuser);
$fb_birthday = $fql_result_xml['birthday'];
}
echo $fb_birthday;
生日总是空的,即使我已将其设置为所有人可见
- 我正在使用新的Facebook PHP客户端
- 我甚至试着从标准表中获取信息,但没有任何运气
Facebook是否再次改变了他们的API/策略?或者我在代码中遗漏了什么/做得不正确?他们(再次)改变了事情。当您为Connect构建登录按钮时,您可以请求对生日的权限,如: 文档中说,“一旦用户授权您的站点,您就可以从用户的配置文件中获取这些字段…”
Facebook目前将生日设置为扩展权限。你允许延长生日许可吗?在用户批准生日扩展权限之前,您无法检索他的生日。我通过脱机
访问令牌成功地查询了标准用户信息表。
但我找不到日期格式的文档。我得到的日期是“1999年3月4日” 我想他们不再允许这样做了,你问过facebook开发者吗section@c0mrade当前位置谢谢你的评论,不,我还没有问过。是的,我允许了,只是在那之后我才去拿了一个,实际上我不知道他们又改变了主意,把生日放在了延长许可的范围内。