如何在App Script中访问Secret Manager获取API Token?
在Google Apps Script中通过Secret Manager获取API密钥
前提确认
- 已将Apps Script项目关联到Google Cloud项目(你已完成此步骤)
- 需为当前Apps Script的服务账号授予
Secret Manager Secret Accessor权限
具体操作步骤
启用Secret Manager API
进入关联的Google Cloud项目,搜索并启用Secret Manager API。启用Apps Script高级服务
在Apps Script编辑器中,点击「资源」→「高级Google服务」,找到Secret Manager API并勾选启用。编写获取密钥的代码
function getApiKey() { // 替换为你的Secret完整名称,格式:projects/你的项目ID/secrets/Secret名称/versions/latest const secretFullName = 'projects/your-project-id/secrets/api-key-secret/versions/latest'; try { const secretResponse = SecretManager.Secrets.Versions.access(secretFullName); // 返回的密钥是base64编码,需解码 const decodedApiKey = Utilities.base64DecodeToString(secretResponse.payload.data); return decodedApiKey; } catch (err) { console.error('获取密钥失败:', err); throw err; } }
- 权限排查(若遇权限错误)
- 打开Apps Script编辑器的「项目设置」,勾选「显示appsscript.json清单文件」,找到格式为
[项目ID]@gserviceaccount.com的服务账号 - 进入Google Cloud项目的IAM页面,添加该服务账号,授予
Secret Manager Secret Accessor角色
- 打开Apps Script编辑器的「项目设置」,勾选「显示appsscript.json清单文件」,找到格式为
注意事项
- 禁止在日志中打印密钥内容,防止泄露
- 若需调用特定版本的密钥,将
latest替换为具体版本号(如1)
内容的提问来源于stack exchange,提问作者ls168
相关产品推荐
相关产品推荐

