2011-07-26 3 views
1

Я использую API-интерфейс Google для чтения всех доступных элементов для любого канала RSS. Я использую его следующим образом:Google Reader API не показывает всех результатов

http://www.google.com/reader/atom/feed/[RSS FEED LINK] п = [количество элементов шоу] & г = о & а = [UNIX TIME STAMP FOR START DATE]

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

Для примера:

http://www.google.com/reader/atom/feed/http://www.360cities.net/rss/area/Greece.rss?n=1000&r=o&ot=1306959543

ссылка показывает только элементы, начиная с 24.07.2011 к текущей датой, хотя он должен показать элементы, начиная с 26.06.2011. Если одна и та же ссылка (http://www.360cities.net/rss/area/Greece.rss) читается в Google Reader, она будет показывать гораздо больше результатов.

Есть ли решения?

+0

Я только видящие 10 пунктов при просмотре фид в Google Reader нормально (http://www.google.com/reader/view/feed/http://www.360cities.net /rss/area/Greece.rss). Вы уверены, что используете один и тот же URL? Насколько я могу судить, читатель не видел этот канал до нескольких часов назад. –

ответ

4

К счастью, я нашел решение моей проблемы после того, как много исследований:

  • URL-адрес в этой форме возвращает последние N элементов на RSS поток

    HTTP://www.google.com/reader/atom/feed/[RSS]?n=[N]

    [N] = Количество элементов для отображения (макс .: 1000).

    [RSS] = Адрес для rss-канала.

  • Чтобы получить следующие N старших элементов, необходимо использовать еще один параметр: Продолжающая строка. Его можно найти внутри gr: продолжение тег на каждой странице результатов. Таким образом, для получения более старых предметов следует использовать URL-адрес в этой форме:

    http://www.google.com/reader/atom/feed/[RSS]?n=[N] & c = [C]

    [N] = Количество элементов для отображения (макс .: 1000).

    [RSS] = Адрес для rss-канала.

    [C] = Продолжение строки

Пример:

  • Скажем, мы заинтересованы, чтобы получить результаты от http://www.360cities.net/rss/area/north-america.rss

  • Чтобы получить новейший 1000 пунктов этого RSS поток, URL, который будет использоваться должен выглядеть следующим образом:

    http://www.google.com/reader/atom/feed/http://www.360cities.net/rss/area/north-america.rss?n=1000

  • Чтобы получить следующие более старые 1000 пунктов, мы должны сначала искать в первой странице результатов и найти Продолжение Строка. В этом случае строка продолжения равна COnu-r7znpsC (при просмотре этой записи может быть иная). Затем URL будет использоваться, должен выглядеть следующим образом:

    http://www.google.com/reader/atom/feed/http://www.360cities.net/rss/area/north-america.rss?n=1000&c=COnu-r7znpsC

  • Чтобы получить следующие старые 1000 пунктов, повторите тот же процесс, находя новое Продолжения Струнного и т.д ...

  • Если строка продолжения не найдена, это означает, что больше нет доступных предметов.

Я надеюсь, что это поможет кому-то.

Благодаря

+1

Это такое прекрасное объяснение продолжения. Большое спасибо! –

+0

Добро пожаловать. – YAM

Смежные вопросы