0

私はここでこれに対する答えを高低で検索しましたが、何も見つかりませんでした。よろしければお答えください。

セットアップ:

例の1つをベースとして使用して、PHP FacebookAPISDKの操作方法を学習しています。APIを使用するのは初めてなので、少し混乱していて、ユーザーグループを一覧表示しようとして問題が発生しています。

質問:

アプリを作ってもらいました。適切な権限と拡張権限を取得しました。ユーザー名と基本情報を取得できます。

私の問題は、ユーザーグループを取得するために必要な拡張アクセス許可にアクセスするために必要なアクセストークンにあると思います。APIに正しく送信しているかどうかわかりません。

これは私が得たものです:

<?
    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 {
        $access_token = $facebook->getAccessToken();
        $user_profile = $facebook->api('/me','GET');
        $user_groups = $facebook->api('/me/groups','GET', array( 'access_token=' => $access_token ));

        echo "Name: " . $user_profile['name'];
        echo "<br />";
        echo "Groups: " . $user_groups['name'];

      } 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.
        $args['scope'] = 'user_groups,user_likes';
        $login_url = $facebook->getLoginUrl($args);
        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
      $args['scope'] = 'user_likes,user_groups';
      $login_url = $facebook->getLoginUrl($args);
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

  ?>

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

0

正確にはわかりませんが、以下にいくつかのポイントを示します。

  1. Facebook SDK を使用する場合、手動でアクセス トークンを追加する理由はありません。それらはアクセス トークンを追加します。次のようにする必要があります。

    $user_groups = $facebook->api('/me/groups','GET');

  2. "/me/groups"の json エンコード結果の形式は、 "/ me "とはまったく異なります。「/me」の結果が単なるキー/値データのセットである場合、「/me/groups」の結果は、オブジェクトの配列である「data」パラメーター内にラップされます。ユーザーオブジェクトのドキュメントに記載されているように(グループ接続の下):

    バージョン (古い 0 または新しいグループ 1)、名前、ID、管理者 (ユーザーがグループの管理者である場合)、および bookmark_order (ホームページのグループ ブックマークのリストのどの場所で、グループがユーザーに表示されます)。

  3. Facebook がさまざまなクエリにどのように応答するかについて疑問がある場合は、Graph Explorer ツールを使用して、さまざまなクエリをテストし、facebook が返す応答を確認してください。たとえば、/me結果と /me/groupsの結果

于 2012-05-09T08:55:56.510 に答える