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

如何向带DEV链接的Google Apps Script发送JSON POST请求

Google Apps Script 开发端点POST请求权限问题解决方案

核心原因

/macros/s/[ID]/dev格式的开发部署端点,仅允许拥有脚本编辑权限的账号携带有效OAuth令牌访问,不支持匿名请求,你的问题由配置缺失、令牌权限不足导致。

操作步骤

1. 配置部署参数

首次部署为Web应用时,两个参数必须正确设置:

  • 执行身份选择 你自己的账号
  • 有权访问的人选择 仅限我自己(企业账号可选择对应网域范围)

2. 配置项目清单文件

先开启清单文件显示:进入GAS编辑器左侧「项目设置」,勾选「在编辑器中显示appsscript.json清单文件」,再打开清单文件添加如下配置,确保OAuth权限足够:

{
  "timeZone": "Asia/Shanghai",
  "dependencies": {},
  "webapp": {
    "executeAs": "USER_DEPLOYING",
    "access": "MYSELF"
  },
  "oauthScopes": [
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/drive.readonly"
  ],
  "runtimeVersion": "V8"
}

保存后重新运行一次任意脚本触发权限授权。

3. 本地CURL调用方法

开发端点不能直接匿名调用,需要携带有效OAuth令牌,先在GAS中运行以下临时函数获取令牌:

function getTempToken() {
  console.log(ScriptApp.getOAuthToken())
}

将控制台输出的令牌复制,替换到下方CURL命令对应位置即可调用:

curl -X POST \
  -H "Authorization: Bearer 你获取的临时令牌" \
  -H "Content-Type: application/json" \
  -d '{"debug":"data ok"}' \
  https://script.google.com/macros/s/你的脚本ID/dev

4. 调试注意事项

  • 临时令牌有效期为1小时,过期后重新运行上述函数获取即可
  • 代码修改后无需重新部署,直接调用开发端点就会运行最新版本,无需每次生成新版本
  • 不要使用重定向后的script.googleusercontent.com域名调用,必须用原始的script.google.com域名
  • 确认生成令牌的Google账号和脚本所有者/编辑者账号为同一个,否则会触发权限错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:57:00