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

Excel 365中Office Scripts的fetch函数部分URL请求失败问题

解决Office Scripts中fetch请求部分URL失败的问题

问题原因分析

你遇到的Failed to fetch错误,核心原因有两个:

  • HTTP协议限制:Office Scripts运行在Office的安全环境中,默认会拦截非HTTPS的HTTP请求。你测试的dummyjson接口用的是HTTPS,而ip-api的请求用的是HTTP,这是导致请求失败的关键。
  • 冗余请求头:GET请求里添加Content-Type: application/json完全没必要,部分服务器会对这种不符合规范的请求头做出拦截或返回错误响应。

修复后的代码

async function main(workbook: ExcelScript.Workbook) {
  
  // 改用HTTPS协议的目标接口地址
  let url = 'https://ip-api.com/json/24.48.0.1';
  // GET请求无需额外请求头,简化配置
  let options = {
    'method': 'GET', 
  }

  await fetch(url, options)
  .then((response) => response.json())  
  .then((result) => console.log(result))
  .catch((error) => console.error('请求错误详情:', error)); // 新增错误捕获,方便后续排查问题
}

额外注意事项

  • 后续使用fetch调用外部接口时,优先选择HTTPS协议的地址,避免被Office安全策略拦截。
  • 只有POST、PUT这类需要发送JSON请求体的接口,才需要设置Content-Type: application/json头,GET请求不需要额外配置该字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:03:19