找不到Azure Bing News API的Ocp-Apim-Subscription-Key且请求报错如何解决
你不需要创建API Management服务,401和404错误是资源类型和终结点不匹配导致的,按以下步骤排查即可:
- 确认你创建的Azure资源是「必应搜索 v7」(Bing Search v7),而非Bing Custom Search资源。Bing Custom Search的密钥仅可用于自定义搜索场景,无法调用通用新闻搜索API,创建时要在定价层中选择适配新闻搜索的层级,免费层F0即可用于测试。
- 替换请求终结点为你资源对应区域的专属地址:新创建的认知服务资源不再支持全局通用的
https://api.cognitive.microsoft.com地址,你需要从Bing Search v7资源的「密钥和终结点」页面复制专属终结点,比如你选择的是东亚区域,复制到的地址一般为https://eastasia.api.cognitive.microsoft.com/,拼接路径后最终请求地址为https://eastasia.api.cognitive.microsoft.com/bing/v7.0/news/trendingtopics即可。 - 直接使用「密钥和终结点」页面提供的两个密钥中的任意一个填入
Ocp-Apim-Subscription-Key请求头即可,不需要做任何额外处理。
修正后的参考代码如下,将对应占位符替换为你自己的资源信息即可:
import fetch from 'node-fetch'; function testFetch(){ // 替换为你自己资源的专属终结点+路径 const requestUrl = "https://<你的区域前缀>.api.cognitive.microsoft.com/bing/v7.0/news/trendingtopics"; let response = fetch(requestUrl, { headers: { "Ocp-Apim-Subscription-Key": "<你复制的密钥>", 'Accept': 'application/json' } }).then(async response => { try { const data = await response.json() console.log('响应数据:', data) } catch(error) { console.log('解析响应出错:') console.error(error) } }) } testFetch()
内容的提问来源于stack exchange,提问作者nizoom
相关产品推荐
相关产品推荐

