
在使用bing新闻搜索api时,开发者常常希望获取新闻文章的原始尺寸图片url,而不仅仅是缩略图。为此,api提供了一个名为originalimg的查询参数,直观上理解为设置为true即可获取原始图片。然而,许多开发者在使用/news端点(通常用于获取新闻类别或热门新闻)时,即使设置了originalimg=true,也只能在响应中找到缩略图信息,而没有原始尺寸图片的contenturl字段。
以下是一个典型的示例代码片段,展示了这种常见的使用方式:
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密钥
'X-RapidAPI-Host': 'bing-news-search1.p.rapidapi.com'
}
};
// ... 执行API请求 ...当使用上述代码请求/news端点时,期望的输出可能包含一个指向原始图片的高清contentUrl,例如:
{
"url": "https://www.msn.com/en-in/news/...",
"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", // 期望的原始图片URL
"thumbnail": {
"_type": "ImageObject",
"contentUrl": "https://www.bing.com/th?id=OVFT.1Wypj4IiKxycYuiB2Q81GC&pid=News",
"width": 700,
"height": 350
}
}
}然而,实际收到的响应却往往只包含缩略图信息,而缺少原始图片的contentUrl字段:
{
"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
}
}
}这种差异导致开发者困惑,认为originalImg参数并未生效。
根据Bing新闻搜索API v7的官方文档,originalImg参数并非适用于所有新闻相关的API端点。其核心限制在于:
originalImg参数仅与/news/search端点结合使用。
这意味着,当您调用/news(获取一般新闻或分类新闻)或Trending Topics(获取热门话题)等端点时,即使在请求中包含了originalImg=true,该参数也会被忽略,API响应中将不会提供原始尺寸的图片URL。
官方文档说明: “仅将此参数与新闻搜索API一起使用。调用Web搜索API时,请勿指定此参数。热门话题会忽略此参数。” (原文链接:https://www.php.cn/link/c94ac72ea12ea1943136f2bc64719600)
因此,如果您的目标是获取新闻的原始图片,您必须使用/news/search端点来执行新闻搜索,并在请求中包含originalImg=true。
让我们回顾之前的代码示例,并理解其为何未能获取原始图片:
// 错误用法示例:使用/news端点,但期望originalImg生效 const url = 'https://bing-news-search1.p.rapidapi.com/news?&originalImg=true&category=india&cc=in&safeSearch=Off&textFormat=Raw'; // ...
此处的关键在于URL路径中的/news。由于originalImg参数不适用于/news端点,即使将其设置为true,API也会忽略此设置,并仅返回默认的缩略图信息。要正确获取原始图片,您需要将端点更改为/news/search,并可能需要添加一个q(查询词)参数来执行具体的搜索。
正确的端点使用逻辑(概念性示例,具体参数需根据需求调整):
// 正确用法示例:使用/news/search端点以激活originalImg
// 注意:/news/search通常需要一个查询词(q)
const searchUrl = 'https://bing-news-search1.p.rapidapi.com/news/search?q=example+query&originalImg=true&cc=in&safeSearch=Off&textFormat=Raw';
const searchOptions = {
method: 'GET',
headers: {
'X-BingApis-SDK': 'true',
'X-RapidAPI-Key': 'YOUR_RAPIDAPI_KEY', // 请替换为你的实际API密钥
'X-RapidAPI-Host': 'bing-news-search1.p.rapidapi.com'
}
};
// ... 执行API请求 ...当使用/news/search端点并设置originalImg=true时,API将尝试在响应中包含原始尺寸图片的contentUrl字段(如果可用)。
originalImg参数在Bing新闻搜索API中是一个非常有用的功能,但其作用范围仅限于/news/search端点。开发者在使用此参数时,务必确保调用了正确的API端点,以避免因误解文档而导致的意外行为。通过仔细阅读官方文档、理解不同端点的功能以及进行充分的测试,可以确保您的应用程序能够正确地获取所需的新闻图片信息。
以上就是Bing新闻搜索API中originalImg参数的正确用法解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号