1

我有由“发布者”帐户创建并作为“仅供查看”共享的 Google Apps 脚本项目:

1. Editors can change permissions and share - set to false
2. Viewers and commenters can see the option to download, print, and copy - set to false
3. Anyone on the internet with this link can view

从另一个“消费者”帐户,应该能够:

a) 将项目作为库导入,然后

b) 使用项目端点

当我使用在线编辑器时,一切看起来都很好:

在此处输入图像描述

“制作副本”菜单项已禁用。

“显示清单文件”不显示 appsscript.json


但是,“消费者”帐户可以使用 clasp(带有脚本 ID)来克隆项目、拉取特定版本、下载清单文件、读取项目属性和依赖项等。

clasp clone script_id
clasp pull --versionNumber 2

注意:我什至创建了“发布者”帐户,以不使用 clasp 作为批准的应用程序。

Q1:我错了,这看起来像“保护系统”可以被扣子绕过?

Q2:这是一个已知的错误/功能/问题,我找不到它,我想投票吗?

Q3:如果你想把Library项目分享给客户,也许你可以做一个“隐藏”业务逻辑的子库项目。看起来 clasp 可以下载顶级共享项目的清单文件,然后所有子库也变得不受保护,清单文件显示它们的脚本 ID。有没有一些标准的方法来完成这样的事情?

谢谢你,很抱歉这么长的帖子。

4

1 回答 1

2

问题:

正如官方帮助中心页面中所写,

重要提示:您可以限制人们在 Google 云端硬盘、文档、表格和幻灯片中共享、打印、下载和复制的方式,但您无法阻止其他人以其他方式共享文件内容。

特点

查看者和评论者可以看到下载、打印和复制的选项

仅禁用用户界面按钮并防止在应用程序内复制。它不会阻止用户

  • 直接将他们看到的内容复制到剪贴板
  • 使用相应的 api 进行复制

或任何其他方法。

解决方案:

目前唯一推荐的隐藏脚本项目的方法是发布一个插件#7。如果这不是一个选项,您可以尝试基本的 JavaScript 混淆/缩小。

问题跟踪器:

于 2020-09-28T21:01:49.337 回答