0

ここで、グラフ API を使用したプログラミング方法に関するいくつかの関連する質問を見つけましたが、ドキュメントを実際の実装に結び付けるものはありません。

PHPでFacebookアプリを作ろうとしています。基本的には、あなたと同じ大学に在籍しているすべての友達のリストを表示したいと考えています。では、それを行うにはどうすればよいでしょうか (「教育」クエリを使用する予定です)。ログインするユーザーをすでに取得しており、ユーザー名を印刷できます。

次のような Facebook クエリを実行する方法の例をたくさん見てきました。

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

では、その URL を 1 行のコードとして挿入するだけでよいでしょうか (そうであれば、どのように表示すればよいでしょうか? 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>
4

1 に答える 1

0

最初に、ユーザーとユーザーの友人の学歴にアクセスするための適切な権限を追加する必要があります。これはこれを行うことで達成できますが、user_education_history はユーザーの教育にアクセスするためのものであり、friends_education_history はユーザーの友人の学歴のためのものであることを覚えておいてください。

$params = array(
'scope' => 'user_education_history, friends_education_history, user_location, email');
$loginUrl = $facebook->getLoginUrl($params);

また、教育フィールドにアクセスするには、次のようにコードを 1 行変更する必要があります。

以下のコードを使用して、 $user_profile を印刷し、要件に従って解析することができます。

<pre><?php print_r($user_profile); ?></pre>

おそらくあなたのクエリには遅すぎる答えですが、他の人には役立つかもしれません.

于 2013-10-31T00:43:03.460 に答える