Почему параметр Bing News Search API "Поскольку" ничего не делает?

Мне нужно регулярно вызывать результаты поиска новостей Bing через его API, проверяя наличие свежих историй, соответствующих заданному поисковому запросу.

Я хочу возвращать только что опубликованные истории с момента последнего вызова API.

Например, ежечасный вызов API должен ограничивать поиск историй с последнего часа до настоящего времени (т. Е. Историй, опубликованных за последний час).

Вот документация по API поиска новостей Bing - https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference

Это проясняет параметр, "так как", который занимает время эпохи Unix. Я всегда смогу программно сгенерировать время эпохи для начала периода.

Документация гласит:

Время эпохи Unix (метка времени Unix), которое Bing использует для выбора актуальных тем. Bing возвращает актуальные темы, которые он обнаружил в указанные дату и время или позже, а не в дату, когда тема была опубликована.

Если я хочу вернуть истории, начинающиеся с 22 июня, время эпохи человеческого времени по Гринвичу. Пятница, 22 июня 2018 г., 12:39:51 - 1529671191.

Это должно позволить мне создать URL-адрес запроса API https://api.cognitive.microsoft.com/bing/v7.0/news/search?q=%22Cardiff%22&since=1529671191000&count=100&sortBy=Date&textDecorations=true&textFormat=HTML

  • д = "Кардифф"
  • так = 1529671191000
  • количество =100 (максимум)
  • SortBy = Дата
  • textDecorations = верно
  • TextFormat = HTML

Однако, когда этот вызов выполнен, самое длинное поле datePublished для возвращенного объекта истории - "2018-06-20T23:18:00.0000000Z" (т.е. 20 июня), что явно за два дня до "с" "параметр, который я указал.

Это так любопытно и расстраивает. Альтернативный параметр ограничения "свежесть", когда он указан как "День", похоже, успешно ограничивает период поиска до последних 24 часов. Но это недостаточно детально. "С" не работает и вообще ничего не делает.

Разве "так" предназначено только для того, чтобы возвращать списки рассказов "Актуальные темы" Bing News, а не результаты поисковых запросов новостей? Язык документации может быть неоднозначным.

Если это так, как я могу ограничить дату начала / "начиная с" для моего поиска через API, кроме как с "свежестью"?

1 ответ

Я думаю, что ответ на ваш вопрос вопрос:

Ты говоришь:

Однако, когда этот вызов выполнен, самое длинное поле datePublished для возвращенного объекта истории - "2018-06-20T23:18:00.0000000Z" (т.е. 20 июня), что явно за два дня до "с" "параметр, который я указал.

Но перед этим вы цитируете это из документации:

Время эпохи Unix (метка времени Unix), которое Bing использует для выбора актуальных тем. Bing возвращает актуальные темы, которые он обнаружил в указанные дату и время или позже, а не в дату, когда тема была опубликована.

Так что это, вероятно, было обнаружено после вашего since значение, вы не можете сравнить с datePublished поле