
bing新闻搜索api是微软认知服务的一部分,允许开发者通过编程方式获取来自bing搜索引擎的新闻内容。它提供了多种功能,包括按类别、区域搜索新闻,以及获取热门新闻等。在使用该api时,开发者常常需要获取与新闻条目关联的图片信息,其中originalimg参数旨在提供新闻的原始图片url。
originalImg参数的本意是让API在返回新闻图片信息时,除了缩略图(thumbnail)外,还能提供新闻文章中使用的原始尺寸图片URL(通过contentUrl字段)。然而,许多开发者在使用该参数时发现,即使将其设置为true,API响应中也仅包含缩略图信息,而缺少原始图片的contentUrl,这导致了对API行为的困惑。
问题示例:
以下是一个使用/news端点并尝试通过originalImg=true获取原始图片的请求示例:
const url = 'https://bing-news-search1.p.rapidapi.com/news?&originalImg=true&category=india&cc=in&safeSearch=Off&textFormat=Raw';
const options = {
method: 'GET',
headers: {
'X-BingApis-SDK': 'true',
'X-RapidAPI-Key': 'YOUR_RAPIDAPI_KEY', // 请替换为您的实际API Key
'X-RapidAPI-Host': 'bing-news-search1.p.rapidapi.com'
}
};
// 假设通过fetch(url, options)获取响应
// ...实际输出:
在上述请求中,即使设置了originalImg=true,API返回的图片信息通常仍只包含缩略图,例如:
{
"url": "https://www.msn.com/en-in/news/world/sc-refuses-to-entertain-pil-for-inauguration-of-new-parliament-building-by-president/ar-AA1bJGRr",
"image": {
"_type": "ImageObject",
"thumbnail": {
"_type": "ImageObject",
"contentUrl": "https://www.bing.com/th?id=OVFT._MJPdPJ958_nyj_Ker8qOy&pid=News",
"width": 1280,
"height": 720,
"isLicensed": true
}
}
}可以看到,image对象下只有thumbnail字段,而没有直接的contentUrl字段来指向原始图片。这与开发者期望的包含原始图片contentUrl的结构不符:
期望输出:
{
"image": {
"_type": "ImageObject",
"contentUrl": "https://s.yimg.com/ny/api/res/1.2/6vOM5nkYbwetaWehEa6lGg--/YXBwaWQ9aGlnaGxhbmRlcjt3PTEyMDA7aD02MDA-/https://media.zenfs.com/en/hearst_womens_health_52/9743c154e3be883ec18c41f03fc44d58",
"thumbnail": {
"_type": "ImageObject",
"contentUrl": "https://www.bing.com/th?id=OVFT.1Wypj4IiKxycYuiB2Q81GC&pid=News",
"width": 700,
"height": 350
}
}
}根据Bing新闻搜索API v7的官方文档,originalImg参数的使用范围是受限的。文档明确指出:
"Use this parameter only with the News Search API. Do not specify this parameter when calling the Web Search API. Trending Topics ignores this parameter."(来源:Bing News API v7 Reference - Query Parameters)
这意味着originalImg参数仅适用于/news/search端点,而对于/news(通常用于获取热门新闻或特定类别的新闻,类似“Trending Topics”)端点,该参数会被忽略。因此,在上述问题示例中,由于使用的是/news端点,originalImg=true的设置并未生效,API自然不会返回原始图片URL。
正确的使用方式:
要获取原始图片URL,开发者必须使用/news/search端点,并提供一个查询字符串(q参数)。
示例:使用/news/search端点获取原始图片
const urlCorrect = 'https://bing-news-search1.p.rapidapi.com/news/search?q=latest news in india&originalImg=true&cc=in&safeSearch=Off&textFormat=Raw';
const optionsCorrect = {
method: 'GET',
headers: {
'X-BingApis-SDK': 'true',
'X-RapidAPI-Key': 'YOUR_RAPIDAPI_KEY', // 请替换为您的实际API Key
'X-RapidAPI-Host': 'bing-news-search1.p.rapidapi.com'
}
};
// 使用fetch(urlCorrect, optionsCorrect)发送请求
// ...通过将端点从/news更改为/news/search,并加入q查询参数,originalImg=true才能发挥作用,从而在API响应中包含原始图片的contentUrl。
originalImg参数在Bing新闻搜索API中是一个非常有用的功能,但其有效性严格依赖于所使用的API端点。为了成功获取新闻的原始图片URL,开发者必须明确该参数仅适用于/news/search端点,并确保在请求中包含必要的查询参数。理解这一关键区别将帮助开发者避免常见陷阱,更高效地利用Bing新闻搜索API来满足其应用需求。
以上就是Bing新闻搜索API中originalImg参数的正确使用指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号