График Facebook api / me / home: не надежный - PullRequest
1 голос
/ 14 декабря 2011

Мы столкнулись с проблемой во время текущего хакатона в моей компании.Мы получаем доступ к нашей ленте новостей через FQL.

Когда мы пытаемся получить доступ к какой-то старой (но не так много!) Информации, мы сталкиваемся с проблемой: иногда нам возвращаются некоторые данные, иногда нет.

Это большая проблема для нас, потому что это делает наш проект ненадежным.

Пример: fql?q=select source_id, message, attachment, created_time from stream where filter_key="nf" AND created_time < 1323648660

Иногда возвращается:

{
  "data": [
  ]
}

Иногда возвращаетсясписок 25 данных, как и ожидалось.

Выглядит как неправильное управление кэшем?

Это открытая ошибка для FB?Это очень важно.

Надеюсь, вы сможете мне помочь,

С уважением,

Франсуа ЖАГУЛИН

1 Ответ

0 голосов
/ 25 февраля 2012

Ограничьте source_id одним пользователем, например:

fql?q=select source_id, message, attachment, created_time from stream where filter_key="nf" AND created_time < 1323648660 AND source_id = XXXX

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

Из FbDevWiki ...

* Таблица потоков на самом деле представляет собой две концепции, встроенные в одну таблицу.Если вы укажете filter_key и / или нескольких пользователей, результаты будут вести себя как поток на домашней странице Facebook.Если указан только один пользователь и не указан ключ_фильтра, таблица будет предполагать, что вам нужно представление в виде профиля, и все, что на это указывает.Такое поведение значительно отличается.Например, представление, похожее на домашнюю страницу, объединяет данные только за последние несколько дней.Профильный вид получает намного более старые данные из наших баз данных. *

...