在facebook登录演示代码上进行api调用

时间:2011-05-24 04:04:06

标签: php facebook

我开始涉足facebook登录演示代码,我只是想知道如何从我的代码中提取个人信息,例如显示图片,姓名,名字,姓氏,用户名以及此后。

目前该演示显示了这一点:

Your User Object (/me)

    Array
    (
        [id] => 647445630
        [name] => John Molanza
        [first_name] => John
        [last_name] => Molanza
        [link] => http://www.facebook.com/johnmolanza
        [username] => johnmolanza
        [gender] => male
        [timezone] => 1
        [locale] => en_GB
        [verified] => 1
        [updated_time] => 2011-05-24T03:12:09+0000
    )

与我的展示图片和其他东西一起。但是如何单独显示每条信息,例如[last_name]或[first_name]而不是一次显示所有信息。

这是我在下面使用的代码 - 提前感谢你!

  

//config
include "resources/Connections/kite.php";

require 'resources/facebook/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => $appid_kite,
  'secret' => $secret_kite,
));

// Get User ID
$user = $facebook->getUser();

// We may or may not have this data based on whether the user is
     

已登录。       //       //如果我们这里有$ user id,则表示我们知道用户已登录       // Facebook,但我们不知道访问令牌是否有效。访问       //如果用户退出Facebook,则令牌无效。

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user
     

状态。       if($ user){         $ logoutUrl = $ facebook-> getLogoutUrl();       } else {         $ loginUrl = $ facebook-> getLoginUrl();       }       //由于我们正在获取公共数据,因此此调用将始终有效。       $ naitik = $ facebook-> api('/ naitik');

?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>php-sdk</title>
    <style>
      body {
        font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
      }
      h1 a {
        text-decoration: none;
        color: #3b5998;
      }
      h1 a:hover {
        text-decoration: underline;
      }
    </style>
  </head>
  <body>
    <h1>php-sdk</h1>

    <?php if ($user): ?>
      <a href="<?php echo $logoutUrl; ?>">Logout</a>
    <?php else: ?>
      <div>
        Login using OAuth 2.0 handled by the PHP SDK:
        <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
      </div>
    <?php endif ?>

    <h3>PHP Session</h3>
    <pre><?php print_r($_SESSION); ?></pre>

    <?php if ($user): ?>
      <h3>You</h3>
      <img src="https://graph.facebook.com/<?php
     

echo $ user; ?&GT; /图像“&GT;

      <h3>Your User Object (/me)</h3>
      <pre><?php print_r($user_profile); ?></pre>
    <?php else: ?>
      <strong><em>You are not Connected.</em></strong>
    <?php endif ?>

    <h3>Public profile of Naitik</h3>
    <img src="https://graph.facebook.com/naitik/picture">
    <?php echo $naitik['name']; ?>
  </body>
</html>

1 个答案:

答案 0 :(得分:2)

你有阵列,所以你可以按键获得每个值。试试这个而不是print_r($ user_profile)

echo $user_profile['first_name']; //Prints John Molanza
echo '<a href="'.$user_profile['link'].'">Go to my profile</a>';