Google Apps Script处理POST请求返回405错误求助
解决Google Apps Script Web App无法接收POST请求的问题
核心排查点及修复步骤
1. 确认部署URL的正确性
出现302重定向大概率是用了旧的部署链接或预览URL:
- 必须使用部署后生成的正式URL,格式为
https://script.google.com/macros/s/[部署唯一ID]/exec - 编辑器内的预览URL(带
dev后缀)仅支持GET请求,不能用于POST测试。
2. 检查部署权限的细节
确保部署时的两个关键设置完全正确:
- 执行权限:选择「以我(你的Google账号)身份执行」
- 谁可以访问:选择「任何人,甚至匿名」
若未勾选匿名,请求需携带身份凭证,Postman默认不携带会触发权限拦截,进而导致重定向。
3. 修正Postman请求配置
Postman的POST请求需避开这些错误操作:
- 不要添加
X-HTTP-Method-Override这类自定义请求头,会干扰GAS对请求方法的识别 - 确保
Content-Type设置合理,即使无Payload,也可设为application/x-www-form-urlencoded或application/json - 关闭「自动跟随重定向」选项,直接用正确的exec URL发起请求,避免重定向后请求方法被转为GET。
4. 代码层面添加验证日志
你的代码本身无语法问题,但可以添加日志确认请求是否到达doPost函数:
function doPost(e){ console.log("POST请求已接收:", e); return ContentService.createTextOutput("POST test success").setMimeType(ContentService.MimeType.TEXT); }
部署后发起请求,在脚本编辑器的「查看>日志」中查看记录,判断请求是否真的触达了脚本。
5. 排查账号安全限制
如果你的Google账号开启了严格安全验证(如两步验证),需确认请求未被账号安全策略拦截。可以用curl发起简单测试:
curl -X POST https://script.google.com/macros/s/[部署唯一ID]/exec
总结
最常见的问题根源是错误的部署URL或未开启匿名访问权限,按上述步骤逐一排查即可解决405 Method Not Allowed错误。
内容的提问来源于stack exchange,提问作者Mateusz Marchel
相关产品推荐
相关产品推荐

