所有
我一直在努力通过PHP来检索用户的生日。
我在网上查看,所有给出的例子都不起作用,或者已经折旧了。
获得用户生日的代码是什么......例如。年日月?
一些明确的代码会很有用
的问候,
耶
答案 0 :(得分:9)
这使用PHP SDK v4,而不是v5,但是我发现它更容易理解,这个人教程非常棒。 http://www.krizna.com/demo/login-with-facebook-using-php/
他们解释了如何在评论中检索EMAIL,如果你按照以下方式更新它,你可以获得性别(仍在学习自己,所以不确定其他领域适用于这些步骤)
在index.php中,更新以下内容:
<?php if ($_SESSION['FULLNAME'] !="") {
?>
<li class="nav-header">Name</li>
<li><?php echo $_SESSION['FULLNAME']; ?></li>
<?php
} ?>
<?php if ($_SESSION['EMAIL'] !="") {
?>
<li class="nav-header">Email</li>
<li><?php echo $_SESSION['EMAIL']; ?></li>
<?php
}
?>
<?php if ($_SESSION['GENDER'] !="") {
?>
<li class="nav-header">Gender</li>
<li><?php echo $_SESSION['GENDER']; ?></li>
<?php
}
?>
上面的代码与演示代码略有不同,因为我在IF BLANK中包含
在FBConfig.php文件中,更新以下内容:
//看看我们是否有会话
if ( isset( $session ) ) {
// graph api request for user data
// $request = new FacebookRequest( $session, 'GET', '/me' );
$request = new FacebookRequest( $session, 'GET', '/me?locale=en_US&fields=id, name, email, gender, birthday' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id'); // To Get Facebook ID
$fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name
$fbemail = $graphObject->getProperty('email'); // To Get Facebook email ID
$fbgender = $graphObject->getProperty('gender'); // To Get Facebook gender ID
$fbbirthday = $graphObject->getProperty('birthday'); // To Get Facebook birthday ID
/* ---- Session Variables -----*/
$_SESSION['FBID'] = $fbid;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $fbemail;
$_SESSION['GENDER'] = $fbgender;
$_SESSION['BIRTHDAY'] = $fbbirthday;
生日对我不起作用,但我相信这可能是由于一些原因,例如需要额外的权限,我隐藏了我的等等。希望这会有所帮助。
答案 1 :(得分:3)
你应该有一个看起来像
的登录按钮代码<fb:login-button autologoutlink="true" perms="email,user_birthday,status_update,publish_stream"></fb:login-button>
要阅读用户详细信息,您需要使用PHP facebook API,可以从Facebook免费下载。
以下链接将进一步向您解释。
http://thinkdiff.net/facebook/php-sdk-graph-api-base-facebook-connect-tutorial/
答案 2 :(得分:0)
您的应用必须申请user_birthday
(或friends_birthday
)权限才能获得此权限。
参考: