You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Bing新闻搜索API freshness参数异常:设为Month却返回旧内容

解决Bing新闻API Freshness参数不符合预期的问题

我之前也碰到过一模一样的情况——设置freshness为"Month",翻到后面几页却出现了半年甚至两年前的内容,折腾了好一阵才理清问题所在,给你整理几个排查和解决的思路:

1. 先确认参数格式是否完全正确

Bing API对freshness参数的大小写有严格要求,必须是首字母大写的"Month",如果写成小写"month"或者缩写"m",API会直接忽略这个过滤条件,返回全量的新闻结果。

你可以检查下请求URL里的参数段,正确的写法应该是:

&freshness=Month

2. 排查是否有其他参数干扰结果排序

如果同时设置了sortBy=Relevance(默认值),API会优先返回相关性高的内容,哪怕这些内容时间更早。尤其是当你搜索的关键词近一个月内的新闻数量不多时,API会自动补充更早的相关内容来填充分页结果。

建议先单独测试只带freshness=Month的请求,看看是否还会出现旧内容,排除其他参数的干扰。如果需要严格按时间排序,记得把sortBy设置为"Date"。

3. 理解Bing API的结果填充逻辑

其实这是Bing API的设计逻辑:freshness是优先返回指定时间范围的内容,但当该范围内结果数量不足时,会自动扩展时间范围来凑够分页结果。比如你设置count=20,翻到第6页(offset=100),但近一个月内只有80条符合条件的新闻,剩下的20条就会从更早的内容里补。

4. 手动二次过滤结果(最稳妥的办法)

如果必须严格限制在近一个月内,拿到API返回结果后,自己在代码里通过datePublished字段做二次过滤。比如用Python的话可以这么写:

from datetime import datetime, timedelta

# 计算30天前的时间节点
thirty_days_ago = datetime.now() - timedelta(days=30)

# 过滤出近30天内的新闻
filtered_news = [
    news for news in bing_response["value"]
    if datetime.fromisoformat(news["datePublished"].replace("Z", "+00:00")) >= thirty_days_ago
]

5. 官方渠道排查特殊情况

如果以上方法都没用,可能是API的临时故障或者你的订阅有特殊限制,这时候可以提交工单给微软开发者支持,附上你的请求示例和返回旧内容的datePublished信息,让官方帮忙排查。

内容的提问来源于stack exchange,提问作者MIkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:48:27