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

使用fetch调用Google TimeZone API时GET带body触发错误该如何处理?

Google是否允许GET请求携带body调用TimeZone API?

不允许。
你遇到的报错是浏览器本地抛出的,还没有发送到Google的服务器:fetch实现严格遵循HTTP规范,明确禁止GET/HEAD类型的请求携带body参数,所以请求在发起阶段就被拦截了。
即使你绕过浏览器限制使用其他HTTP客户端发送带body的GET请求,Google TimeZone API也不会读取请求body内的参数,该接口的官方规则要求所有请求参数必须通过URL查询字符串传递。

正确处理方案

将所有参数拼接为URL查询字符串后发起GET请求即可,推荐使用URLSearchParams处理参数,避免手动拼接出现的编码错误,参考实现代码如下:

const params = new URLSearchParams({
  location: `${this.latitude.value},${this.longitude.value}`,
  timestamp: Math.floor(Date.now() / 1000).toString(),
  key: '你的Google API密钥'
})
const requestUrl = `https://maps.googleapis.com/maps/api/timezone/json?${params.toString()}`
const timeZoneResult = await fetch(requestUrl);
const timeZone = await timeZoneResult.json();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:18:04