Сортировка списка комментариев api facebook graph, например 'orderby=desc'?

Я использую график api, чтобы получить комментарии к картинке, но я хочу сначала отсортировать результаты, создав время, а затем вернуться к последним данным. По аналогии с оператором sql 'order by create_time desc', я не знаю, есть ли такой параметр.

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

pagesize = 25;
offset = comments.count - pagesize;
limit = 25;

url = "https://graph.facebook.com/" + object_id + "/ comments? access_token =" + access_token + "& limit =" + limit + "& offset =" + limit;

следущая страница:

offset -= 25

но комментарии. количество числовых иногда не точно

и результат запроса URL для возврата иногда не совпадает

Стоит ли иметь очень хорошее решение

Или я использовал неправильный путь (параметр limit и offset)!!!


Спасибо за ваш ответ.

"Графика API" о существовании кеша?

я отправляю сообщение и 46 комментариев. запрашивает URL, задаю параметры:

смещение =0& предел =1

Затем он должен вернуться к последнему комментарию (последнему), фактическому возврату к середине комментария, и я несколько раз проверял, устанавливал смещение и предел. Согласно возвращенным результатам, средний является последним комментарием

Если я установлю предельное значение больше, чем "comment.count", возвращаются все данные, официальный веб-сайт и Facebook соответствуют

Потому что причина кеша?

Еще раз спасибо ~

2 ответа

@dbau - Вам все еще лучше использовать FQL. По моему опыту, если вы не делаете очень простой вызов, у вас очень мало контроля над тем, что вы получаете через вызов Graph API.

Почему вы не хотите использовать FQL? FQL является конечной точкой Graph API. Есть еще данные, которые можно вернуть только через FQL.

Это даст вам результат, который вы ищете. Запрос должен быть в кодировке URL. Я оставил это в виде простого текста для ясности.

 https://graph.facebook.com/fql?access_token=[TOKEN]&q=
    SELECT id, fromid, text, time, likes, user_likes FROM comment
      WHERE object_id = [OBJECT_ID] ORDER BY time DESC LIMIT 0,[N]

Вы можете обнаружить, что вы не получаете [N] комментарии возвращаются каждый раз, потому что Facebook отфильтровывает элементы, которые не видны access_token владелец после запуска запроса. Вы можете либо увеличить LIMIT и отфильтровать все лишние возвращенные результаты, либо, если вы используете пользователя access_tokenВы можете добавить AND can_like = TRUE к WHERE оговорка о том, что, если они существуют, [N] Сообщения, видимые для текущего пользователя, возвращаются.

Graph API сначала возвращает последние объекты.

Facebook предоставляет 2 ключевых слова для фильтрации полученных данных.

  1. Лимит: возвращает "лимит" количества последних записей
  2. Смещение: возвращает "предельное" количество записей из позиции смещения

Таким образом, чтобы получить последние "х" комментарии, опубликованные для объекта

https://graph.facebook.com/[OBJECTID]?limit=[X]&offset=0

Чтобы получить следующие "X" комментарии (по страницам)

https://graph.facebook.com/[OBJECTID]?limit=[X]&offset=[X*PAGENo]

Надеюсь, ответ достаточно ясен для вас.

Другие вопросы по тегам