为什么必应新闻搜索API“自”参数起什么作用?

时间:2018-06-23 12:54:22

标签: microsoft-cognitive bing-api azure-cognitive-services bing-search bing-news-search-api

我需要通过其API定期调用Bing新闻搜索结果,以检查与给定搜索查询匹配的最新报道。

我只想返回自上次调用API以来新发布的故事。

例如,每小时调用一次API应该限制从最近一小时到现在之间的故事搜索(即,过去一小时内发布的故事)。

以下是Bing新闻搜索API的文档-https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference

它明确了参数“ since”,该参数采用Unix epoch time。我将始终能够以编程方式生成时段开始时的时间。

文档状态:

  

Bing用于选择趋势主题的Unix纪元时间(Unix时间戳)。 Bing会返回在指定日期和时间(而不是该主题的发布日期)或之后发现的热门主题。

如果我想从6月22日开始返回故事,那么人类格林尼治标准时间的新纪元时间是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 =“加的夫”
  • since = 1529671191000
  • count = 100(最大)
  • sortBy =日期
  • textDecorations = true
  • textFormat = HTML

但是,执行该调用时,返回的故事对象的最长前一个“ datePublished”字段为“ 2018-06-20T23:18:00.0000000Z”(即6月20日),显然是两天< em>之前我指定的“自”参数。

很好奇,令人沮丧。当指定为“天”时,替代约束参数“新鲜度”似乎已成功地将搜索时间限制在最近的24小时内。但这还不够精细。 “ Since”不起作用,什么也不做。

“因为”仅用于返回Bing News的“趋势主题”故事列表,而不是返回新闻搜索查询的结果吗?文档语言可能不明确。

如果是这种情况,除了“新鲜”以外,如何限制通过API搜索的开始日期/“开始日期”?

1 个答案:

答案 0 :(得分:1)

我认为答案是关于您的问题的

您说:

  

但是,执行该呼叫时,最长的“ datePublished”   返回的故事对象的字段为“ 2018-06-20T23:18:00.0000000Z”   (即6月20日),这显然是“自”参数之前的两天   我指定的。

但就在此之前,您引用了文档中的内容:

  

Bing用于选择的Unix纪元时间(Unix时间戳)   热门话题。 Bing会返回其在或发现的热门话题   在指定的日期和时间之后,而不是主题的日期之后   已发布

因此,它可能是在您的since值之后发现的,您无法与datePublished字段进行比较