Как получить изображение пользователя в выбранных комментариях FQL из потока?

Я создаю простой модуль FQL для получения комментариев с любой фан-страницы Facebook.

Получение post_id, message, act_id кажется довольно простым.

Однако документация потока, похоже, не указывает какой-либо способ получить аватар и имя.

Что я делаю:

SELECT post_id, message, actor_id
FROM   stream
WHERE  source_id = 125938460770575

Который возвращает идентификатор FB, комментарии и сам пост.

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

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

Могу ли я получить несколько советов о том, как это сделать?


person S D    schedule 29.07.2013    source источник


Ответы (2)


Для этого можно использовать мультизапрос FQL: вы «называете» свои запросы, а затем второй запрос может ссылаться на значения (в данном случае на идентификаторы пользователей), извлеченные первым запросом.

https://developers.facebook.com/docs/technical-guides/fql/#multi имеет пример, который очень похож на то, что вы хотите, за исключением того, что он ищет имена пользователей и фотографии пользователей, посещающих мероприятие, но переписать его для того, что вы хотите, не должно быть большой проблемой.

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

person CBroe    schedule 29.07.2013

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

Да, конечно, вы можете сделать это так-

SELECT uid,
       pic,
       first_name,
       last_name
FROM   user
WHERE  uid IN(
       SELECT post_id,
              message,
              actor_id
       FROM stream
       WHERE source_id = 125938460770575)

Получить любую информацию о пользователе.

person Sahil Mittal    schedule 29.07.2013