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

ESP32运行NodeMCU对接Google日历调用Google Script返回404求助

问题根因
  • Google Apps Script公开访问接口默认会返回302临时重定向,将请求转发到script.googleusercontent.com域名下返回实际响应
  • NodeMCU的http库默认不开启自动重定向跟随,且你手动写死了Host请求头为script.google.com,重定向到新域名后Host头不匹配,触发404错误
  • 上传数据成功是因为Google Script在返回302之前就已经执行了对应业务逻辑,所以数据写入操作正常完成,但你没有正确获取重定向后的返回内容
解决方案
  1. 移除手动设置的Host请求头,由http库自动根据当前请求域名生成对应Host值
  2. 开启http请求的自动重定向跟随,NodeMCU http库支持通过follow_redirects参数配置,最大重定向次数建议设为5,适配Google服务的多次跳转逻辑
  3. 清理不必要的请求头,避免触发Google服务的安全拦截
修改后代码示例
headers = {
  ["Content-Type"] = "application/json",
  ["Accept"] = "application/json, text/plain, */*"
}
-- 创建连接时开启重定向跟随
connection = http.createConnection("https://script.google.com/macros/s/AKfycbybO_1kyXTxTOAJ8d4X0niOs-7y58TIfBhD92ThMuh8GJ/exec", http.GET, { 
  headers = headers,
  follow_redirects = 5 -- 开启最多5次自动重定向
})
connection:on("data", function(status,data)
  print("data =", status, data)
end)
connection:request()

补充:请确认Google Script部署时的访问权限配置为「所有人(包括匿名用户)」,否则未携带认证信息的请求会被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:45:04