Как получить фид всех друзей из Facebook Graph API - PullRequest
8 голосов
/ 11 января 2011

Я использую php sdk в своем приложении для Facebook и запрашиваю расширенное разрешение. Я могу получить все обновления статусов от пользователя, использующего мое приложение, от вызова API

$statuses = $facebook->api('/me/statuses?limit=0');

Но когда я использую тот же метод с другом этого пользователя.

$friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0');

Я получил пустой массив. Я пытался не использовать "? Limit = 0", но результат все тот же.

Я тоже пытался использовать

$friendFeed = $facebook->api('/'.$user_id.'/feed?limit=0');

и получил какой-то канал от этого пользователя, но не все. Даже если я изменю «? Limit = 0» на «limit = 1000», но полученный мной фид будет около 500 элементов, но у этого пользователя больше фида, чем это точно.

Моя работа направлена ​​на сбор статусов пользователей и друзей и их кластеризацию.

Ответы [ 2 ]

4 голосов
/ 14 января 2011

Правильный способ получения фида друга пользователя - последний использованный вами пример:

$friendFeed = $facebook->api("/{$user_id}/feed?limit=0");

Если вы получаете некоторые из фидов, но не все те, которые ожидаете, этоВозможно, у вас нет необходимых разрешений.Разрешение read_stream видеть непубличные записи, поэтому попробуйте дважды проверить, что у вас есть разрешение read_stream.Вы можете проверить, запустив FQL-запрос:

SELECT read_stream FROM permissions WHERE uid = me()

Я не уверен на 100%, как вы поступите с SDK, который вы используете, но, вероятно, это будет:

$readStream = $facebook->api("/method/fql.query?query=SELECT+read_stream+FROM+permissions+WHERE+uid+=+me()");

Удачи!


Подробнее о выполнении запросов FQL можно прочитать здесь .
Подробнее о таблице разрешений здесь .
Вы можете узнать больше об объекте User графа API здесь .

0 голосов
/ 16 февраля 2012
$num = 0;
$result = $facebook->api( array('method' => 'fql.query', 'query' => 'SELECT uid2 FROM friend WHERE uid1=me()') );
foreach($result as $photo){
$num++;
}

используйте это, это быстрее посчитать ваших друзей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...