
针对Bing新闻搜索API中originalImg参数无法获取原始图片URL的问题,本文深入解析了其正确用法。核心在于该参数仅适用于/news/search端点,而非/news或趋势话题端点。通过理解API文档,开发者可避免常见配置错误,确保按预期获取新闻图片的原始尺寸信息。
Bing新闻搜索API originalImg 参数解析
在使用bing新闻搜索api时,开发者有时会遇到即使设置了originalimg=true参数,也无法获取新闻图片的原始尺寸url,而只得到缩略图链接的问题。这通常是由于对api端点的选择存在误解。
考虑以下常见的API请求示例,该请求旨在获取印度类别新闻的原始图片:
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' }};// 假设调用并获取响应// fetch(url, options).then(response => response.json()).then(data => console.log(data));
然而,上述请求返回的图片信息可能仍是缩略图格式,例如:
{ "url": "https://www.msn.com/en-in/news/world/...", "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 } }}
其中thumbnail.contentUrl指向的是Bing生成的缩略图,而非新闻源提供的原始图片URL。开发者期望的输出可能包含一个顶级的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 } }}
问题根源:originalImg 参数的端点限制
根据Bing新闻搜索API v7的官方文档,originalImg参数并非对所有新闻API端点都有效。其关键限制在于:
“此参数仅用于新闻搜索API。调用Web搜索API时请勿指定此参数。趋势话题会忽略此参数。”
这意味着originalImg=true参数仅在与/news/search端点结合使用时才会生效,而对于/news(通常用于获取热门或分类新闻)或/news/trendingtopics端点,该参数将被忽略。
在上述示例中,API请求的URL使用的是/news端点 (https://bing-news-search1.p.rapidapi.com/news?…),这正是导致originalImg参数无效的根本原因。
正确使用 originalImg 参数
要正确获取新闻的原始图片URL,您需要将API请求的端点更改为/news/search。这个端点通常用于执行带有特定查询词的新闻搜索,但它也支持originalImg参数以获取搜索结果中新闻的原始图片。
以下是修改后的API请求示例,展示了如何使用/news/search端点:
const url = 'https://bing-news-search1.p.rapidapi.com/news/search?q=india&originalImg=true&category=india&cc=in&safeSearch=Off&textFormat=Raw'; // 注意:端点已更改为 /news/searchconst options = { method: 'GET', headers: { 'X-BingApis-SDK': 'true', 'X-RapidAPI-Key': 'YOUR_RAPIDAPI_KEY', // 请替换为您的API密钥 'X-RapidAPI-Host': 'bing-news-search1.p.rapidapi.com' }};// 假设调用并获取响应// fetch(url, options).then(response => response.json()).then(data => console.log(data));
注意事项:
端点选择: 始终根据您的具体需求选择正确的API端点。如果您需要执行带有查询词的搜索并获取原始图片,请使用/news/search。如果您只是想获取某个类别下的热门新闻且不关心原始图片,/news端点可能更合适。q 参数: 当使用/news/search端点时,通常需要提供一个q(查询)参数来指定搜索关键词。即使您只是想按类别过滤,也可能需要提供一个通用查询词(例如,示例中的q=india)。文档查阅: 在开发过程中,务必查阅最新的官方API文档(例如Microsoft Learn上的Bing News API v7参考),以了解每个参数和端点的具体行为和限制。
总结
originalImg参数是Bing新闻搜索API中一个非常有用的功能,但其有效性严格依赖于所选的API端点。为了成功获取新闻的原始图片URL,开发者必须确保在请求中使用了/news/search端点,而不是更通用的/news端点。理解并遵守API文档中关于参数和端点的规定,是避免此类常见问题的关键。
以上就是Bing新闻搜索API中originalImg参数的正确用法与端点选择指南的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1523599.html
微信扫一扫
支付宝扫一扫