2012-11-15 2 views
0

При вытягивании фотографий с альбома Facebook через API графа, т.е.Facebook Graph API возвращает частичные результаты для альбомов

https://graph.facebook.com/<albumid>/photos?access_token=<token>&limit=999&fields=name,source 

Для некоторых альбомов, он поставляет только частичные результаты. Например, альбом с 15 фотографиями может возвращать только 13 фотографий. Этот вызов:

https://graph.facebook.com/<albumid>?access_token=<token>&fields=count 

... В самом деле возвращает правильное количество, равное 15. Моя первая мысль была, что, возможно, эти 2 «отсутствует» фотографии больше предельных параметров приватности, но каждая фотография весь альбом (который принадлежит владельцем токена, кстати) имеет такую ​​же настройку конфиденциальности «видимых для друзей». Большинство альбомов возвращают все фотографии, как и ожидалось.

Любые идеи относительно того, что может вызывать такое поведение?

+0

Graph API хорошо известен тем, что возвращал частичные результаты в разных запросах. FQL - это то, что эффективно и надежно. Добавлен ответ. – Kishor

+0

К сожалению, запрос FQL возвращает те же 13 элементов (т. Е. Он все еще отсутствует 3). – Metal450

ответ

2

Мне не хватало 4 фотографий из 33 для одного из моих альбомов. Я добавил «user_status» к разрешениям, и он неожиданно работает.

+0

О, интересная идея! Как ни странно, я больше не могу перепрограммировать его, поэтому я думал, что FB исправил его, но если он снова появится, я дам этот снимок :) – Metal450

+0

Просто нашел еще один альбом, где это происходило - и ваше предложение сработало! Браво, спасибо огромное :) – Metal450

0

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

Почему бы не пойти по пути FQL?

заказ: https: //developers.facebook.com/docs/reference/fql/photo/

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

Sample : SELECT src_big FROM photo WHERE aid="20531316728_324257" 

Это возвращает URL-адрес самой большой версии изображений внутри альбома.

Это, вероятно, должно решить вашу проблему, если вы используете user access_token, а не приложение access_token.

+0

Это не так, как если бы FQL не был хорошо известен также для получения «частичных результатов» ... – CBroe

+0

Его гораздо надежнее, чем Graph API. – Kishor

+0

YMMV, но у других людей разные впечатления (включая меня). – CBroe

Смежные вопросы