Есть ли способ возвращать только вложения, содержащие фотографии из запроса потока FQL?

#facebook-fql

#facebook-fql

Вопрос:

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

 SELECT attachment FROM stream WHERE source_id = me() AND app_id = <my_app_id>
  

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

Ответ №1:

Facebook обновил таблицу потоков, включив в нее «тип»:

https://developers.facebook.com/docs/reference/fql/stream/

 The type of this story. Possible values are:

11 - Group created
12 - Event created
46 - Status update
56 - Post on wall from another user
66 - Note created
80 - Link posted
128 - Video posted
247 - Photos posted
237 - App story
272 - App story
  

Итак, ответ на мой вопрос становится:

 SELECT attachment FROM stream WHERE source_id = me() AND type = 247 AND app_id = <my_app_id> 
  

Кстати, не похоже, что они ретроактивно обновили таблицу потоков, т.Е. Старые сообщения не имеют значения «тип»

Ответ №2:

если вы не выбрали / не создали определенный альбом для фотографий, публикуемых в учетной записи пользователя, все они будут в одном альбоме — что-то вроде <app_name> Photos .

Взято из сообщения в блоге facebook 489 :

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

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

Кроме того, сохранение photo_id / album_id в вашей собственной базе данных для использования в будущем — отличная идея.

Комментарии:

1. Спасибо за ответ. Я пытаюсь сделать свое приложение максимально гибким, поэтому я не хочу ограничивать пользователя использованием только одного альбома. В идеале я должен иметь возможность указывать тип в своем запросе, но пока я не понял, как это сделать…