You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Apps Script中调用Bing API遇401错误求助

Bing API调用401错误排查(Google Apps Script场景)

问题描述

在Google Apps Script中实现Bing API搜索功能,尝试两种调用方式均返回401错误:

方式一(URL参数传密钥)

var url = "https://api.bing.microsoft.com/v7.0/search?key=[appkey]&q=Bart's%20Heating%20%26%20Air";
var response = UrlFetchApp.fetch(url);

方式二(请求头传密钥)

var url = "https://api.bing.microsoft.com/v7.0/search?q=Bart's%20Heating%20%26%20Air";
var options = {
    'method': 'GET',
    'headers': {
      'Ocp-Apim-Subscription-Key': apiKey
    }
};
var response = UrlFetchApp.fetch(url, options);

错误提示:

Exception: Request failed for https://api.bing.microsoft.com returned code 401. Truncated server response: {"error":{"code":"401","message":"Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an acti...

已知订阅激活,密钥从Azure复制,端点确认正确,需排查问题原因。

可能的问题及解决方法

  • 方式一参数名错误:Bing API的URL参数密钥名不是key,而是subscription-key。修改方式一的URL为:
    var url = "https://api.bing.microsoft.com/v7.0/search?subscription-key=[appkey]&q=Bart's%20Heating%20%26%20Air";
    
  • 密钥复制不完整或含多余字符:检查复制的API密钥是否带有前后空格、换行符,Azure的密钥是无空格的长字符串,需完全准确复制。
  • 端点与密钥区域不匹配:Bing API的端点和密钥绑定区域,若你的Azure资源在特定区域(如中国区),需使用对应区域的端点。例如中国区端点为https://api.cognitive.azure.cn/bing/v7.0/search,全球通用端点为https://api.bing.microsoft.com/v7.0/search,需确保两者匹配。
  • 搜索关键词转义问题:直接拼接转义后的关键词可能出现异常,建议用encodeURIComponent()处理:
    var query = encodeURIComponent("Bart's Heating & Air");
    var url = "https://api.bing.microsoft.com/v7.0/search?q=" + query;
    
  • 密钥权限不匹配:确认Azure中生成密钥的资源是Bing Search v7服务,而非其他Bing相关服务(如Bing Custom Search),权限需与调用的API一致。
  • IP访问限制:若Azure资源设置了IP白名单,Google Apps Script的执行IP不在允许范围内会被拒绝。检查Azure资源的网络设置,关闭IP限制或临时允许所有IP测试。

内容的提问来源于stack exchange,提问作者user2502870

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:15:07