
本教程深入探讨Bing新闻搜索API中originalImg参数的正确用法。许多开发者在使用/news端点时发现该参数无法获取原始图片URL,本文将根据官方文档明确指出,originalImg参数仅适用于/news/search端点,并提供示例代码和详细解释,帮助开发者避免常见误区,确保有效获取新闻图片信息。
1. Bing新闻搜索API概述
bing新闻搜索api是微软认知服务的一部分,允许开发者通过编程方式获取来自bing搜索引擎的新闻内容。它提供了多种功能,包括按类别、区域搜索新闻,以及获取热门新闻等。在使用该api时,开发者常常需要获取与新闻条目关联的图片信息,其中originalimg参数旨在提供新闻的原始图片url。
2. originalImg参数的意图与常见误区
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 } }}
3. 官方文档解析与解决方案
根据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。
4. 注意事项
端点选择: 在开发过程中,务必根据您的需求选择正确的API端点。如果您需要搜索特定关键词的新闻并获取原始图片,请使用/news/search。如果您只是想获取热门或特定类别的新闻(可能不关心原始图片,或其获取方式不同),则可以使用/news。查询参数q: 使用/news/search端点时,q参数是必需的,用于指定搜索的关键词。API版本: 确保您正在使用的API版本支持originalImg参数(本文基于v7文档)。API行为可能在不同版本间有所差异。API Key与Host: 始终确保您的请求头中包含正确的X-RapidAPI-Key和X-RapidAPI-Host,以进行身份验证。图片许可: 获取到的图片可能受版权保护。在使用任何图片之前,请务必检查其许可条款,确保您的使用符合法律法规。错误处理: 建议在代码中加入适当的错误处理机制,以应对API调用失败或返回非预期数据的情况。
5. 总结
originalImg参数在Bing新闻搜索API中是一个非常有用的功能,但其有效性严格依赖于所使用的API端点。为了成功获取新闻的原始图片URL,开发者必须明确该参数仅适用于/news/search端点,并确保在请求中包含必要的查询参数。理解这一关键区别将帮助开发者避免常见陷阱,更高效地利用Bing新闻搜索API来满足其应用需求。
以上就是Bing新闻搜索API中originalImg参数的正确使用指南的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1523720.html
微信扫一扫
支付宝扫一扫