使用Facebook的Graph API生成Facebook好友列表

时间:2013-08-03 16:55:44

标签: php facebook facebook-graph-api

我在这里找到了一些关于如何使用图形api进行编程的相关问题,但是没有一个问题将文档连接到实际实现,这实质上就是这个问题。

我正在尝试用php构建一个Facebook应用程序。基本上我想显示与你在同一所大学注册的所有朋友的列表。那我该怎么做呢(我计划使用“教育”查询)?我已经让用户登录了,我可以打印用户名。

我见过很多关于如何执行Facebook查询的例子:

GET https://graph.facebook.com/me?fields=name,birthday,photos.limit(10).fields(id, picture)

所以我只是将该URL作为一行代码插入(如果是这样,我如何显示它 - 使用echo?)?

我以前从未用json或fql编程,我是一个php新手。每个人都说要在https://developers.facebook.com/docs/reference/api/观看视频并阅读该文档。遗憾的是,该文档中没有任何内容可以在视频与实际编程之间建立任何关联。所以这不是很有帮助。但是我觉得在图api资源管理器中的“GET / POST / DELETE”框后面生成的url必须有一些重要的内容。

那我错过了什么?如何写我的PHP代码来获取并打印一份去你大学的朋友列表?

我当前的PHP代码,供参考(CSS来自我服务器上的外部文档 - 那里有一些样板文本和框,我知道!):

<?php
  // Setting up php sdk
  require_once('src/facebook.php');

  $config = array(
    'appId' => '196743413820733',
    'secret' => 'f39853b06a0607c1efd272d071c2f371',
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();

?>
<html>
  <head>
  <!-- Getting facebook-style CSS -->
  <link rel="stylesheet" type="text/css" href="mystyles.css" media="screen" />
  </head>
  <body>

  <?php
    if($user_id) {

      // We have a user ID, so probably a logged in user.
      // If not, we'll get an exception, which we handle below.
      try {

        $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'];
        echo "<br/> Here are some things about yourself";

        echo '<div class="fbgreybox" style="width: 500px;"><p class="fbbody">
            Recognize this general purpose grey box? </p>
        </div>';

      } catch(FacebookApiException $e) {
        // If the user is logged out, you can have a 
        // user ID even though the access token is invalid.
        // In this case, we'll get an exception, so we'll
        // just ask the user to login again here.
        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
    } else {

      // No user, print a link for the user to login
      $login_url = $facebook->getLoginUrl();
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

  ?>

  </body>
</html>

0 个答案:

没有答案