如何防止 cloning/pulling "View Only" Google Apps 脚本项目中的 clasp

How to prevent clasp from cloning/pulling "View Only" Google Apps Script Project

我有 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

注意:我什至让“发布者”帐户不使用clas作为已批准的应用程序。

Q1:我错了,这个貌似可以通过clasp绕过“保护系统”?

Q2:这个是已知的吗bug/feature/issue,我没找到,我想点赞?

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

谢谢你,抱歉这么久 post。

问题:

official help center page

中所写

Important: You can limit how people share, print, download, and copy within Google Drive, Docs, Sheets, and Slides, but you can't stop how others share the file content in other ways.

特征

Viewers and commenters can see the option to download, print, and copy

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

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

或任何其他方法。

解决方案:

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

问题跟踪器: