Подтвердить что ты не робот

Почему iTunes Store Reviews RSS-канал иногда не возвращает результатов?

Я пытаюсь импортировать обзоры для определенных приложений в iTunes App Store через публикацию RSS-лент. В большинстве случаев фид возвращает список из 50 обзоров на страницу и дает мне ссылки на 10 страниц. Но в случае некоторых приложений некоторые или все эти страницы имеют 0 отзывов, и я не могу сказать почему.

На момент написания этой статьи фид для Instagram (ссылка ниже) не возвращает отзывов, несмотря на то, что сообщается, что имеется 10 страниц обзоров.

https://itunes.apple.com/us/rss/customerreviews/page=1/id=389801252/sortBy=mostrecent/xml

Еще более запутанно, вчера я заметил, что на странице 2 было 50 обзоров, но ни одна из других страниц не имела. Сегодня утром страница 2 снова пуста.

Если я удалю часть sortBy=mostrecent URL выше, я действительно получаю 50 результатов назад, но ни одна из других страниц не имеет никаких результатов.

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

https://itunes.apple.com/us/rss/customerreviews/page=1/id=389801252/sortBy=mostrecent/json

Кто-нибудь может это объяснить? Является ли API-интерфейс API Apple просто крайне ненадежным? Я создаю плохой URL?

4b9b3361

Ответ 1

Хотя этот ответ не очень удовлетворяет, это лучшее, что я мог бы выработать после многих испытаний. Похоже, что XML-канал действительно ошибочен и не должен использоваться для реального использования. Кроме того, при использовании публичного канала JSON некоторые поля, такие как дата обзора, отсутствуют. Ответ от разработчика ответа на подачу не отвечает.

Также ясно, что Apple не использует эти каналы для iTunes (desktop) или App Store (iOS). В конечном итоге я обратил свое внимание на то, как iTunes запрашивает данные обзора и выясняет, что запрос аналогичным образом, чтобы соответствовать их User Agent и версии, вернул бы нужные мне данные. Эти запросы, по-видимому, ограничены по скорости в определенной степени, и данные поступают в виде сочетания HTML и JSON, которые требуют большого разбора. Кроме того, поскольку они являются частными вызовами, Apple может легко закрыть дверь в любой момент.