能否通过Google Apps Script移除文件中的Google Apps Script?容器绑定脚本复制幻灯片后如何移除副本中的脚本?
关于Google Apps Script移除绑定脚本的问题解答
嘿,针对你的两个问题,我来给你详细拆解下:
1. 能否使用Google Apps Script移除文件中的Google Apps Script?
当然可以,但得满足几个前提条件:
- 你必须拥有目标文件的编辑权限(如果是容器绑定脚本,就得有对应文档/幻灯片的编辑权限)
- 要操作其他文件的脚本,得先启用Apps Script API——这个是关键,默认的
ScriptApp只能操作当前脚本所在的项目,开启API后才能跨文件操作脚本项目。
2. 容器绑定脚本复制幻灯片后,移除副本的绑定脚本能否实现?
完全没问题!这个需求很常见,特别是要分享副本给外部用户时,避免脚本被意外查看或执行。下面给你具体的实现思路和代码示例:
实现步骤&思路
- 先复制当前幻灯片,拿到副本的文件ID
- 启用Apps Script API(这个步骤不能少,后面会说怎么弄)
- 通过API提供的方法删除副本的绑定脚本项目
代码示例
function copySlidesAndStripScript() { // 获取当前正在操作的幻灯片 const sourceDeck = SlidesApp.getActivePresentation(); // 复制幻灯片,这里可以自定义副本名称和存储的文件夹ID const copiedDeck = sourceDeck.makeCopy('幻灯片副本(无脚本)', DriveApp.getFolderById('替换成你的目标文件夹ID')); const copyFileId = copiedDeck.getId(); try { // 删除副本的绑定脚本项目 ScriptApp.deleteProject(copyFileId); console.log('搞定!副本的绑定脚本已经被移除了'); } catch (err) { console.error('移除脚本时出错:', err.message); } }
重要注意事项
- 启用Apps Script API的方法:打开脚本编辑器,点击顶部的「扩展」→「Apps Script API」,在跳转的页面里启用该API;同时要确保你的Google账号在对应的Cloud项目中有权限使用这个API
- 测试的时候建议先用测试幻灯片操作,避免误删重要内容
- 移除脚本后,副本里就完全没有原绑定脚本的痕迹了,外部用户看不到也没法执行原脚本的功能
内容的提问来源于stack exchange,提问作者Dave Case
相关产品推荐
相关产品推荐

