facebook graph api..получить друзей друзей - PullRequest
12 голосов
/ 17 апреля 2011

Я использую FB graph api, чтобы получить список друзей моих друзей, используя:

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

Теперь странно то, что это работает для некоторых из моих друзей и не работает для некоторых других,Может ли кто-нибудь сказать мне, почему это происходит, и возможное исправление?

В тех случаях, когда это не работает, я получаю следующее сообщение: «Не удается найти всех друзей YYYYYY. Можно только искать вошедших в системупользователь (XXXXX) или друзья вошедшего в систему пользователя с соответствующим разрешением "

И я повторяю, я в состоянии получить списки друзей некоторых из моих друзей, используя указанный выше URL.Какие разрешения упоминаются здесь?

Ответы [ 3 ]

11 голосов
/ 17 апреля 2011

Конфиденциальность.

Как пользователь, я контролирую, кто может видеть мой список друзей. Если я выберу «Только друзья», тогда мой список смогут видеть только мои друзья, а не «друзья друзей»

Войдите в Facebook, в правом верхнем углу нажмите «Аккаунт» -> «Настройки конфиденциальности», затем нажмите «Просмотреть настройки» в разделе «Подключение к Facebook»

"Посмотри список друзей" - это то, что контролирует это.

Редактировать: Извините, пришлось подумать об этом минуту.

Вы можете видеть друзей своего друга через стандартный веб-интерфейс Facebook. Ваше приложение не вы. Даже если вы предоставили приложению доступ к своей учетной записи, ваши друзья этого не сделали. В этом случае вы не вернете друзей своего друга, если для него не установлено значение «Все». Ваше приложение не является другом друга.

Я верю, что в этом причина. Другая причина может заключаться в том, что их API известен своей ошибкой. Вы всегда можете открыть отчет об ошибке на http://bugs.developers.facebook.net/, и если мое предположение будет правильным, кто-то сообщит вам.

8 голосов
/ 25 февраля 2012

У меня есть друзья друзей (ограничено).У меня была такая же проблема.Хотя уже очень поздно отвечать на вопрос, это кому-нибудь поможет.Вот почему отвечая на этот вопрос.

Мы можем найти друзей друзей, которые являются пользователями приложения.Попробуйте по этому fql-запросу.

$ fb_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));
1 голос
/ 16 июля 2011

Действительно. Это все http запросы. Но если я нажму на ссылку, чтобы показать друзей Джона, на Facebook появятся их списки, и если я использую график api и токен, это не так. В любом случае, это я спрашиваю, но API несовместим.

...