gpt4 book ai didi

php - Facebook 权限 "birthday"给我错误的年龄

转载 作者:行者123 更新时间:2023-11-30 23:22:52 25 4
gpt4 key购买 nike

我正在尝试提取生日以获取使用 Facebook 登录我的页面的用户的年龄。我一直尝试使用我的个人资料登录,但它给了我错误的年龄。下面是我在 process_facebook.php 中的代码(我有一个数据库,其中包含一个名为“age”的字段,该字段采用 int):

function getAge($birthday) {
$dt = strtotime($birthday);
// convert the birthday to a standard format (UNIX epoch)
$a = gmdate('Y') - gmdate('Y',$dt);
// find the difference of years
$a = (int)$a;
return $a; // return the age.
}

在典型的 process_facebook.php 框架中,我有这个:

$birthday = $me['birthday'];


$age = getAge($birthday);

我知道我在 Facebook 上的生日是 1987 年 1 月 4 日(应该在 $birthday 中拉出字符串“01/04/1987”)。但是当我的数据库中的字段被填充时,它的数字是 43。

我已经尝试单独运行代码,将“01/04/1987”作为 $birthday 提供给它,结果显示 26 正常。

我不确定发生了什么(Facebook 会不会传给我错误的生日?)提前感谢您的帮助。

最佳答案

签到Graph API Explorer如果您真的授予您的应用程序 user_birthday 权限。在右上角的下拉列表中选择您的应用,然后用这个填充文本框

me?fields=birthday

如果输出中没有birthday字段,您可以点击Get Access Token查看您授予了您的应用哪些权限。

我认为您还没有授予 user_birthday 授权您的应用程序,并且 $me['birthday'] 是空的。这就是为什么计算出的年龄是 43 - 自 1970 年以来已经过去了,如 Marc B在他的评论中指出。要检查,只需使用 var_dump($me['birthday'])

一定要检查this comment .

关于php - Facebook 权限 "birthday"给我错误的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14779722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com