我需要通过其 API 定期调用 Bing 新闻搜索结果,检查与给定搜索查询匹配的新故事。
我只想返回自上次调用 API 以来新发布的故事。
例如,每小时调用一次 API 应该限制搜索从过去一小时到现在之间的故事(即过去一小时内发布的故事)。
这是 Bing 新闻搜索 API 的文档 - https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference
它明确了一个参数“since”,它需要 Unix纪元时间。我将始终能够以编程方式生成周期开始的纪元时间。
文档指出:
Bing 用于选择趋势主题的 Unix 纪元时间(Unix 时间戳)。Bing 返回在指定日期和时间或之后发现的热门主题,而不是主题发布日期。
如果我想返回从 6 月 22 日开始的故事,人类 GMT 时间的纪元时间(2018 年 6 月 22 日星期五 12:39:51 PM)是 1529671191。
这应该允许我生成 API 查询 URL https://api.cognitive.microsoft.com/bing/v7.0/news/search?q=%22Cardiff%22&since=1529671191000&count=100&sortBy=Date&textDecorations=true&textFormat=HTML
- q="卡迪夫"
- 因为=1529671191000
- 计数=100(最大)
- 排序依据=日期
- 文字装饰=真
- 文本格式=HTML
但是,当执行该调用时,返回的故事对象的最长“datePublished”字段是“2018-06-20T23:18:00.0000000Z”(即 6 月 20 日),这显然比“自从" 我指定的参数。
这太好奇了,也太令人沮丧了。当指定为“Day”时,替代约束参数“freshness”似乎成功地将搜索周期限制为过去 24 小时。但这还不够细化。“因为”不起作用,根本不做任何事情。
“since”是否仅用于返回 Bing 新闻的“热门话题”故事列表,而不是新闻搜索查询的结果?文档语言可能不明确。
如果是这种情况,除了“新鲜度”之外,我如何限制通过 API 进行搜索的开始/“开始”日期?