2015-01-04 4 views
0

Я пытаюсь получить обложки альбомов, и у вас есть выбор альбома, а затем выберите фотографию в альбоме. В качестве первого шага, в настоящее время план с использованием основных HTTP запросов (с AngularJS$resource):Извлечение обложек альбомов Facebook

  1. получить user.id
  2. запрос graph.facebook.com/user.id/albums/, чтобы получить список album.id и album.cover_photo
  3. запроса для каждого album через graph.facebook.com/album.cover_photo/ и получите cover_photo.images и сделайте одно изображение нужного размера.

  4. После того, как пользователь выбрал a пожалуйста, используйте предыдущий полученный album.id для запроса graph.facebook.com/album.id/photos, и теперь у меня есть все URL-адрес всех фотографий, большинство из которых не будут использоваться.

Это звучит довольно много запросов, и в 4-м шаге я получается довольно много ненужной информации, то мне интересно, если есть более эффективные способы (например мне нужно только образы height960px)?

ответ

0

Вы можете сделать шаги 1 и 2 в одном шаге:

/me?fields=id,albums{id,cover_photo} 

Для вашего три шага, нет никакого прямого способа сделать это с помощью API вызова Graph, а это означает, что вы должны фильтровать размеры в вашем применение

См

Для вашего шага 4 есть тот же случай, что и в шаге 3. Вам необходимо проанализировать данные результата. Что вы можете сделать, так это использовать пакетный API для обертывания шагов 1/2 и 3.

Если вы можете использовать FQL (что означает, что у вас есть приложение < = v2.0), вы также можете использовать FQL для выполнения шагов 1,2,3 раз:

select owner, album_object_id, object_id, images from photo where pid in (select cover_pid from album where owner=me()) 
+0

Отлично. Просто протестируйте его у исследователя и отлично поработайте – Lelouch

+0

См. Мое правление относительно FQL. Если это поможет, примите мой ответ. – Tobi

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