Получить все лайки пользователя (все) с помощью FQL

Я пытаюсь получить ВСЕ лайки пользователя с помощью FQL. Ниже приводится мое исследование, включая то, что я пробовал, и проблемы с каждой попыткой.

1) Самый простой метод - запросить таблицу по uid. Таким образом, это возвращает 57 (для меня) лайков в чужом потоке.

SELECT object_id, post_id, user_id
FROM like
WHERE user_id = me()

XML выглядит так (обратите внимание на необъяснимое отсутствие post_id)


    10150695050005313
    
    xxxxxxxxxxx

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

SELECT post_id, message
FROM stream
WHERE post_id IN (
    SELECT object_id, post_id, user_id
    FROM like
    WHERE user_id = me()
)

2) Использование Graph API: / me / любит / извлекает информацию на 95 фан-страницах, но не из фотографий, видео, ссылок или офлайн-контента. Полный URL-адрес: https://graph.facebook.com/me/likes?access_token=

Например:

{
"data": [
  {
     "name": "BStU",
     "category": "Organization",
     "id": "136978696319967",
     "created_time": "2011-06-29T12:09:17+0000"
  },
  {
     "name": "Euchre",
     "category": "Interest",
     "id": "112355915446795",
     "created_time": "2011-06-29T12:06:07+0000"
  },

3) Этот FQL возвращает то же, что и приведенный выше код, 95 фан-страниц:

SELECT page_id,name
FROM page
WHERE page_id IN (
    SELECT page_id
    FROM page_fan
    WHERE uid=me()
)

Итак, в идеале я мог бы возвращать все лайки для пользователя, независимо от объекта. Я готов двигаться дальше, создавая смесь фан-страниц и потоковых сообщений, если я смогу вернуть их все вместе с данными одним запросом FQL.

Есть предложения? Я добавлю, что я пытаюсь сделать это без использования REST API, потому что он будет ухудшаться (когда-нибудь?), Поэтому использование fql.multiquery не вариант.

12
задан sakibmoon 12 July 2013 в 22:25
поделиться