facebook获得用户生日

时间:2011-05-16 03:37:07

标签: php facebook

所有

我一直在努力通过PHP来检索用户的生日。

我在网上查看,所有给出的例子都不起作用,或者已经折旧了。

获得用户生日的代码是什么......例如。年日月?

一些明确的代码会很有用

的问候,

3 个答案:

答案 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)权限才能获得此权限。

    参考: