6

Facebook Graph API を介してユーザーの友達のリストにアクセスした人はいますか?

Facebook の OAuth API を介して Web サイトでユーザーを認証するコードを作成しました。それは見事に機能します。公開情報、いいね、興味、活動などにアクセスできます。次の URL 形式を介してこれらのデータ ポイントにアクセスします。ここで、「uid」を有効な ID に置き換えます (「私」は「私」なので、「私」の代わりに uid を使用します)。宣伝どおりには機能しません):

https://graph.facebook.com/uid?access_token= ...
https://graph.facebook.com/uid/likes?access_token= ...
https://graph.facebook.com/uid/interests? access_token= ...
https://graph.facebook.com/uid/activities?access_token= ...

ただし、友達へのアクセスは機能しません。URL、

https://graph.facebook.com/uid/friends?access_token= ...

次のエラーを返します。

{
   "error": {
      "type": "OAuthAccessTokenException",
      "message": "An access token is required to request this resource."
   }
}

Graph API ドキュメントの例はすべて機能しますが、そのページで生成されたアクセス トークンの形式は私のものとは異なります。理由はわかりません。私は彼らの指示に従ってティーを作りました(そしてそれは他のすべてのために働いています!)。

友達は公にアクセス可能な情報と見なされ、Facebook アカウントのアクセス許可を再確認したので、それは問題ではないと思います。

4

4 に答える 4

7

ユーザーがアプリケーションに接続すると、次のように友達を取得できます。

    $facebook = new Facebook(array(
                'appId' => 'xxxxxxxx',
                'secret' => 'xxxxxxx',
                'cookie' => true,
            ));

    // $session is only != null, when you have the session-cookie, that is set by facebook, after the user logs in
    $session = $facebook->getSession(); 

    // you dont get a list of friends, but a list, which contains other friendlists
    $friendsLists = $facebook->api('/me/friends');

    foreach ($friendsLists as $friends) {
      foreach ($friends as $friend) {
         // do something with the friend, but you only have id and name
         $id = $friend['id'];
         $name = $friend['name'];
      }
   }

ただし、友達のIDと名前にしかアクセスできません。

于 2010-12-17T20:52:47.740 に答える
0

最初にアクセストークンを取得する必要があります。見る:

Facebook Graph API —アクセストークンの取得

于 2010-07-13T19:13:05.443 に答える
0

友達が一般公開されていることをどこから得ていますか? リンク先の FAQ には次のように記載されています。

公開されている情報には、名前、プロフィール写真、性別、ネットワークが含まれます。この情報により、友人、家族、およびあなたが知っている他の人々があなたとつながりやすくなります。

その段落には友人についての言及はありません。

于 2010-07-13T19:16:54.830 に答える
0

表示されているエラーは、access_tokenが送信されていないことを示しています。これは/me、あなたのために働く理由でもあります。また、それを修正すると、友人のつながりが期待どおりに表示される可能性があります.

于 2010-07-19T20:36:56.507 に答える