【问题标题】:facebook get user birthdayfacebook获取用户生日
【发布时间】:2011-05-16 03:37:07
【问题描述】:

全部,

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

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

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

一些清晰的代码会很有用

问候,

杰尔

【问题讨论】:

标签: php facebook


【解决方案1】:

这使用 PHP SDK v4,而不是 v5,但是我发现它更容易理解,而且这个人的教程很棒。 http://www.krizna.com/demo/login-with-facebook-using-php/

他们解释了如何在 cmets 中检索 EMAIL,如果您按如下方式更新它,您可以获得 GENDER(仍在学习自己,所以不确定哪些其他字段适用于这些步骤)

在您的 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;
    

    生日对我来说不是这样,但我相信这可能是由于一些原因,例如需要额外的权限、我的隐藏了等等。希望这会有所帮助。

  • 【讨论】:

      【解决方案2】:

      您应该有如下所示的登录按钮代码

      <fb:login-button autologoutlink="true" perms="email,user_birthday,status_update,publish_stream"></fb:login-button>
      

      要阅读用户详细信息,您需要使用可以从 Facebook 免费下载的 PHP facebook API。

      下面的链接将进一步为您解释清楚。

      http://thinkdiff.net/facebook/php-sdk-graph-api-base-facebook-connect-tutorial/

      【讨论】:

        【解决方案3】:

        您的应用必须请求user_birthday(或friends_birthday)权限才能获得此权限。

        参考:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多