Почему параметр 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
поле