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

使用AppScript构造API请求时遇无效请求错误求助

问题分析与修正代码

原代码存在几个关键错误:

  • 请求参数结构错误:method、payload 不应放在headers对象中,它们是UrlFetchApp.fetch的独立配置项
  • Body格式错误:手动添加转义引号会导致JSON格式无效,应该使用标准的对象结构,再转为合法的JSON字符串
  • 多余的Host头:UrlFetchApp会自动根据请求URL生成该头,无需手动设置

修正后的代码

var url_string = "https://imagealttextcreation.cognitiveservices.azure.com/vision/v3.2/describe";
// 构造标准的请求体对象
let body = {
  url: "https://www.khwaahish.com/wp-content/uploads/2022/01/khwaahish-white-bg-logo.jpg"
};
// 配置请求选项,method、headers、payload同级
const options = { 
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Ocp-Apim-Subscription-Key': '###' // 替换为你的实际密钥
  },
  // 将对象转为JSON字符串作为请求体
  payload: JSON.stringify(body)
}; 
var response = UrlFetchApp.fetch(url_string, options);
Logger.log(response.getContentText()); // 打印格式化的响应内容

关键修正点说明

  • 将headers拆分为独立的options配置对象,method和payload与headers同级
  • 移除手动添加的转义引号,使用原生对象定义请求体,再通过JSON.stringify()转为符合要求的JSON格式字符串
  • 移除不必要的Host头,避免请求格式冲突
  • 改用response.getContentText()更清晰地打印响应内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:20:54