【问题标题】:Why does Bing News Search API "since" parameter do nothing?为什么必应新闻搜索 API“since”参数什么都不做?
【发布时间】: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


【解决方案1】:

我认为答案就在你的问题上:

你说:

但是,执行该调用时,最长的 "datePublished" 返回的故事对象的字段是“2018-06-20T23:18:00.0000000Z” (即 6 月 20 日),这显然比“since”参数早两天 我指定的。

但就在之前,您从文档中引用了这一点:

必应用来选择 热门话题。 Bing 返回其发现的热门主题 或 在指定的日期和时间之后,而不是主题的日期 已发布

所以它很可能是在你的since 值之后被发现的,你无法与datePublished 字段进行比较

【讨论】:

  • 谢谢,但我认为 Bing 新闻发现故事需要 2/3 天以上的时间。我最终会想要一个较短的窗口,例如“自 15 分钟前”,但为了测试,我故意离开上面的示例比那个更早的时间。确定就够了吗?我正在努力理解如何制定这一点。我错过了什么吗?
  • “谢谢,但我认为 Bing 新闻发现故事需要 2/3 天以上的时间”:在这种情况下,请确保您的问题包含可以检查的事实项目。如果只是基于“我认为”,我们无能为力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 2013-04-18
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多