【发布时间】:2018-12-02 17:21:58
【问题描述】:
我需要通过其 API 定期调用必应新闻搜索结果,检查与给定搜索查询匹配的新故事。
我只想返回自上次调用 API 以来新发布的故事。
例如,每小时调用一次 API 应该限制搜索从过去一小时到现在的报道(即过去一小时内发布的报道)。
这里是必应新闻搜索 API 的文档 - https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference
它明确了一个参数,“since”,它接受 Unix epoch time。我将始终能够以编程方式生成周期开始的纪元时间。
文档状态:
必应用于选择热门主题的 Unix 纪元时间(Unix 时间戳)。 Bing 返回在指定日期和时间或之后发现的热门主题,而不是主题的发布日期。
如果我想返回从 6 月 22 日开始的故事,人类 GMT 时间 2018 年 6 月 22 日星期五下午 12:39:51 的纪元时间是 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
- count=100(最大值)
- sortBy=日期
- textDecorations=true
- textFormat=HTML
但是,执行该调用时,返回的故事对象的最长“datePublished”字段是“2018-06-20T23:18:00.0000000Z”(即 6 月 20 日),显然是两天 在我指定的“since”参数之前。
这很好奇,也很令人沮丧。当指定为“Day”时,替代约束参数“freshness”似乎成功地将搜索周期限制为过去 24 小时。但这还不够细化。 "Since" 不起作用,根本不做任何事情。
“since”是否仅用于返回 Bing 新闻的“热门话题”故事列表,而不是新闻搜索查询的结果?文档语言可能不明确。
如果是这种情况,除了“新鲜度”之外,我如何限制通过 API 进行搜索的开始/“开始”日期?
【问题讨论】:
-
这似乎更像是一个 Bing API 支持问题。
标签: microsoft-cognitive bing-api azure-cognitive-services bing-search bing-news-search-api