如何为Google Apps Script添加永久有效、不会过期的身份验证?
问题原因
7天授权过期是因为使用了测试部署的Web应用,Google Apps Script的测试部署授权默认有效期仅为7天,到期后权限自动撤销,就会返回403错误。
解决方案
不需要将脚本公开发布到应用市场,仅需要部署为正式版本即可永久生效,操作步骤如下:
- 打开Google Apps Script编辑器,点击右上角「部署」按钮,选择「新建部署」
- 点击设置图标(齿轮样式),选择部署类型为「Web应用」
- 保持原有配置不变:执行身份选「我(你的邮箱地址)」,访问权限选「所有人,甚至匿名用户」
- 点击「部署」按钮,按提示完成授权流程,获取新的正式部署Web应用URL
将你网页端Ajax请求中的URL替换为新的正式部署链接即可,后续只要你不撤销授权,权限就不会过期。如果后续修改了脚本代码,只需要再次进入部署界面,选择「管理部署」,更新部署的版本号即可,URL保持不变,也不需要重复授权。
可选安全优化
因为你配置了所有人可访问,为了防止其他人恶意调用接口刷数据,可以在代码中增加自定义密钥校验逻辑:
- GAS端修改
checkRequest函数,增加密钥校验:
function checkRequest(request) { // 自定义校验密钥,替换为你自己的随机字符串 const VALID_KEY = "your_custom_secret_key"; const requestKey = request.parameter.key || ""; if (requestKey !== VALID_KEY) { return sendResponse({ success: false, error: "Unauthorized" }); } // 原有保存数据的逻辑 // ... return sendResponse({ success: true, data: {result: 'Saved the data!' } }); }
- 网页端Ajax请求的data参数中携带对应的密钥即可。
内容的提问来源于stack exchange,提问作者user7607751
相关产品推荐
相关产品推荐

