13

私はFBグラフAPIを使用して、以下を使用して友達の友達のリストを取得しています:

https://graph.facebook.com/<id>/friends?access_token=<token>

奇妙なことに、これは私の友人の一部には機能し、他の一部には機能しません。なぜこれが起こっているのか、そして可能な修正を教えてもらえますか?

うまくいかない場合、次のメッセージが表示されます:「YYYYYY のすべての友達を検索できません。ログインしているユーザー (XXXXX)、または適切な権限を持つログインしているユーザーの友達のみを検索できます」

繰り返しますが、上記の URL を使用して友人の一部の友人リストを取得できます。ここで言及されている権限は何ですか?

4

3 に答える 3

12

プライバシー許可。

ユーザーとして、友達リストを表示できるユーザーを制御します。「友達のみ」を選択すると、「友達の友達」ではなく、友達だけが私のリストを見ることができます

Facebookにログインし、右上の[アカウント]-> [プライバシー設定]をクリックしてから、[Facebookに接続]の下の[設定の表示]をクリックします。

「友達リストを見る」がこれを制御します。

編集:申し訳ありませんが、それについて少し考えなければなりませんでした。

標準のFacebookWebUIを介して友達の友達を見ることができますあなたのアプリはあなたではありません。アプリにアカウントへのアクセスを許可したとしても、友達は許可していません。その場合、友達が「全員」に設定されていない限り、友達の友達を取り戻すことはできません。あなたのアプリは友達の友達ではありません。

それが理由だと思います。他の理由は、彼らのAPIがバグがあることで有名であるということかもしれません。http://bugs.developers.facebook.net/でいつでもバグレポートを開くことができます。私の推測が正しければ、誰かがあなたに知らせてくれます。

于 2011-04-17T04:22:48.913 に答える
8

友達の友達ができました(限定)。私は同じ問題を抱えていました。質問に答えるのは非常に遅いですが、誰かを助けるでしょう. だからこそ、この質問に答えます。

アプリユーザーである友達の友達を得ることができます。この fql クエリで試してください。

$fb_id= 友達の友達が要求したユーザー ID。

$query="SELECT uid, name, work_history  FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $fb_id ) and is_app_user=1) )";
        $user_info=$facebook->api(array('method'=>'fql.query',
                    'query'=>$query));
于 2012-02-25T12:18:59.010 に答える
1

それはそう。それはすべてhttpリクエストです。しかし、リンクをクリックしてジョンの友達を表示すると、facebook にリストが表示されますが、グラフ API とトークンを使用すると表示されません。いずれにせよ私が尋ねているのですが、API に一貫性がありません。

于 2011-07-15T23:26:59.247 に答える