Как получить ВСЕ фотографии с Facebook, на которых отмечен человек - PullRequest
3 голосов
/ 07 октября 2011

Я знаю, что вы можете добавлять значения пределов и смещений в вызов API graph.facebook.com/id/photos, чтобы разбивать фотографии на страницы. Но большие ограничения, кажется, не работают хорошо, фотографии в конечном итоге отсутствуют. Я прочитал здесь, что предел = 0 дает вам все фотографии, но снова фотографии будут отсутствовать. Так какой самый большой предел вы можете использовать надежно? Как правильно получить ВСЕ фотографии?

Есть ли документация по пределам лимита?

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Вот мой опыт работы с API Facebook ...

Если вы установите ограничение, вы не получите больше, чем это. Тем не менее, большой лимит, безусловно, даст вам меньше, чем вы просили, несмотря на более существующий. Кажется, что весь Facebook работает по принципу «достаточно хорошо», когда речь идет об ответах на запросы API. Если вы запрашиваете 5000 элементов и через 5-15 секунд система может извлечь только 350, то это, вероятно, все, что вы получите. Также кажется, что есть ограничение на размер контента. Таким образом, ограничение полностью зависит от типа контента, который вы запрашиваете, и это не фиксированная сумма. Можно сказать limit=5 и получить только 4 предмета (даже если их больше).

limit=0 раньше давал как можно больше ответов, но я не уверен, что это все еще работает. Вы также можете использовать since / until, чтобы быть более точным в отношении элементов, которые вы хотите получить. Но независимо от того, нет никакого способа узнать, получили ли вы все возможные ответы.

1 голос
/ 25 июня 2012

Я столкнулся с той же проблемой в нашем приложении. «Я / фотографии» не дает полных данных. Можно понять разрешение, связанное с фотографиями, но в результате «я / фотографии» не будут возвращать даже фотографии с «публичным» разрешением.

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

Сначала мы нашли список идентификаторов фотографий, на которых пользователь отмечен тегом FQL. Это может быть достигнуто следующим образом.


FB.api({
"method": 'fql.query',
"query": 'select object_id from photo_tag where subject=me()'
}
,function(resp)
{

}

Приведенный выше API предоставит идентификаторы фотографий, на которых активен пользователь. Теперь, когда удостоверение личности станет доступным, детали фотографии можно получить следующим образом.


FB.api({
"method": 'fql.query',
"query": 'select object_id from photo_tag where subject=me()'
}
,function(resp)
{
   var photoId = resp.object_id;
   FB.api("/" + photoId, function(data){////DO THE PROCESSING/////////////});
}

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

...