如何使用 Google Apps 脚本限制文件的复制/下载/打印访问

2024-04-24

有没有人找到一种方法来限制使用谷歌应用程序脚本复制/下载/打印电子表格的访问权限?背景信息:我创建了一个使用 setShareableByEditors(false) 限制编辑者共享权限的脚本。唯一的问题是编辑者仍然可以轻松地复制电子表格,然后广泛共享。我知道 Google 表格中有一个选项可以手动限制此设置,但此解决方案不可扩展,因为我正在尝试管理大量电子表格的共享设置。任何建议将不胜感激。谢谢你!


你可以通过以下方式做到这一点enabling https://developers.google.com/apps-script/guides/services/advanced并使用高级驾驶服务 https://developers.google.com/apps-script/advanced/drive。你会设置file's restricted标签到true。这是一个例子:

function restrictFile() {

  var id = '10iM3V2q7FQWBAxy93eN9jvbp_SFco-KLPibeG9XRr71';

  // get the file with the Advanced Drive API (REST V2)
  var file = Drive.Files.get(id);
  Logger.log('File "%s", restricted label was: %s', file.title, file.labels.restricted);

  // set the restricted label
  file.labels.restricted = true;

  //update the file
  Drive.Files.update(file, id);

  // check the updated file
  var updatedFile = Drive.Files.get(id);
  Logger.log('File "%s", restricted label is: %s', updatedFile.title, updatedFile.labels.restricted);

}

You can confirm it also in the UI under File > Share... > Advanced: enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Google Apps 脚本限制文件的复制/下载/打印访问 的相关文章

  • 谷歌表格在一行上的不同单元格范围上添加时间戳

    我一直试图在与该行上两个不同单元格范围相对应的行上放置两个时间戳 我已成功使用此脚本对行上的任何更改 第 5 列之后 添加时间戳 我想要的是 如果单元格范围 F 到 L 发生任何更改 则在 E 列中放置一个时间戳 然后 如果从 N 列到 Z
  • 将时间戳转换为一个数组

    在应用程序脚本 谷歌表中运行 我从 API 获取时间戳并返回此结果 1 6370611672429312E18 1 63706107263277082E18 我执行此代码并且工作正常 但问题不在数组中 我每次都需要它在数组中 const t
  • Google Add-on 在有限模式应用脚本中添加菜单项

    我们在新的谷歌应用程序脚本添加商店中发布了一个插件 但在除安装的初始电子表格之外的任何电子表格中使用该插件时 权限似乎无法正常工作 我遇到一个问题 当创建新电子表格并且用户从 管理加载项 菜单中选择 使用此加载项 时 我们的菜单项不会填充
  • 测量填写部分的时间 - 谷歌表单

    我正在尝试使用谷歌表单进行研究调查问卷 对于某些部分 我想自动测量用户填写所需的时间 谷歌表单中没有这样的选项 我尝试复制表单源 并用 javascript 填充时间 但它不起作用 跨源问题 未能成功托管复制的表单 如何做到 我如何衡量回答
  • 根据日期自动对数据进行排序

    我正在尝试使我的电子表格根据日期自动对数据进行排序 我附上了我正在使用的电子表格的照片 您会注意到 G 列中有一个工作日公式 目前 一旦我更新了配药日期 重新订购日期就会根据公式进行更新 基于安排的工作日 然后我对 G 列使用 SORT R
  • QUnit 删除依赖项上的方法会破坏针对该依赖项的测试

    在 Google Apps 脚本中 我正在对我正在开发的应用程序进行单元测试 使用 QUnit https github com simula innovation qunit tree gas gas 使用测试驱动开发 正在测试的代码 我
  • getActiveRange 不返回当前选择

    这应该是一个简单的问题 但我自己无法破解 我想将活动工作表中当前选定的单元格复制到名为 data 的数组中 var sheet SpreadsheetApp getActive getActiveSheet var selection sh
  • 如何使用 Google Apps 脚本添加指向电子表格单元格的链接

    可以通过用户界面向 Google 电子表格中的单元格添加 链接 我想使用 Google Apps 脚本执行相同的操作 我本以为 Range 类上有一种方法可以实现这一点 但看不到 有谁知道如何做到这一点 截至 2020 年 6 月 可以选择
  • 如何使用脚本获取 Google 文档中的修订历史记录?

    如何使用脚本获取 Google 文档中的修订历史记录 我该怎么做 一些想法 您可能需要启用 Drive SDK 您可以在 资源 gt 高级 Google 服务 菜单中执行此操作 然后执行类似以下操作 var revisions Drive
  • 如何从 HTML 文件输入获取文件并将其作为 Google Apps 脚本中电子邮件的附件发送?

    此 HTML 代码使用 Google Script 的 HTML 类服务获取文件输入 见下文 我想获取输入字段的值 文件 发送到我的 gs 文件并将其作为电子邮件的附件发送 从输入字段获取值只会返回文件的目录 这没有任何帮助 因为 Goog
  • 类型错误:ss.getSheetByName 不是函数

    我的代码旨在从用户输入表单中获取数据并将新行插入到电子表格中 function addNewRow rowData const currentDate new Date const ss SpreadsheetApp getActiveSh
  • Google App Script ContentService downloadAsFile 不起作用

    我有一个使用 Google App Script 开发的网络应用程序HtmlService并从 html 表单中 使用以下命令填充 Google 驱动器中的 Excel 工作表SpreadsheetApp 另一个部门正在打电话Content
  • 如何从 Google 电子表格中删除项目?

    我通过在脚本编辑器上选择 文件 gt 制作副本 错误地制作了 Google Apps 脚本项目的副本 从那时起 每次我在该项目所属的电子表格屏幕上单击 工具 gt 脚本编辑器 时 我看到显示两个项目 原始项目和复制项目 的屏幕 我需要选择一
  • 许多文档引用了一个 Google Apps 脚本 [重复]

    这个问题在这里已经有答案了 我已经通过驻留在 Google 文档中的 Google Apps 脚本创建了一个脚本 我使用该文档作为模板对象 然后将其复制到我使用这些脚本函数的许多 Google 文档中 问题是 每当我编辑该主脚本时 所有子文
  • 清除内容并从另一张纸复制

    我编写了一个脚本 旨在清除 Google Sheets 电子表格的内容并复制并粘贴另一个工作表的内容 需要清除的工作表称为 NEW SHEET 要复制的工作表称为 Database 由于某种原因 该脚本目前无法运行 当我运行它时什么也没有发
  • javascript 对象是否像 Ruby 一样“开放”?

    在 Ruby 中 我可以使用与声明自己的语法相同的语法来添加和修改任何类 对象或方法的功能 因为 Ruby 有 开放类 JavaScript 是这样的吗 举个例子 就我而言 我想更改 Google Apps 脚本处理 URL 对象的方式 以
  • 列出文件夹中的所有文件,包括子文件夹中的文件

    我正在尝试创建一个 Google Apps 脚本 该脚本将允许用户获取文件夹内的所有文件 包括连接到主文件夹的子文件夹内的文件 请注意 在我的代码中 我是提供folderid的人 这将是主文件夹 我已设法从文件夹中获取所有文件 但我还希望提
  • Google Apps 脚本中 ui.alert 窗口中的分割线和粗体文本

    我觉得这应该很简单 但我找不到任何相关内容 我希望我的消息在 ui alert 窗口中弹出 以粗体显示某些单词并在以下位置分割字符串 进入新行 这是我的代码 function send var ui SpreadsheetApp getUi
  • 如何设置多个过滤器?

    我有一个关于将过滤器应用于多个值以使用 Google 脚本隐藏它们的问题 我有一个具有多种状态的项目跟踪器 例如 达到目标 已完成 已取消 已延迟 等 我想编写一个脚本来设置 状态 列的筛选器值 以便标记为 已完成 或 的行 已取消 被隐藏
  • 如何删除 GMail 标签 - Google Apps 脚本

    我想从放回收件箱的每封邮件中删除 后续 标签 我尝试了几件事 但仍然没有成功 我希望有人可以帮助我或为我指明正确的方向 涉及的函数是 function moveToInbox page GmailApp moveThreadsToInbox

随机推荐

  • 带有对数刻度的更好的刻度和刻度标签

    我正在尝试获得更好看的双对数图 除了一个小问题之外 我几乎得到了我想要的 我的示例偏离标准设置的原因是 x 值限制在不到十年的范围内 并且我想使用十进制 而不是科学记数法 请允许我用一个例子来说明 import matplotlib pyp
  • 页面上的多个 ShareThis 实现

    我有一个包含不同定价计划的页面 我希望每个计划列都有自己的 ShareThis 信息 以下是仅适用于电子邮件的标记 我也有 Facebook 和 Twitter span class st email span span class st
  • 如何用java读取/写入ID3v2标签?

    我希望能够从 mp3 文件中读取 ID3v2 标签 我找到了多个框架 可以让我获得基本标签 但我希望能够让这些人list https picard musicbrainz org docs mappings 我不关心与 IDv1 的向后兼容
  • 计算两次之间有多少分钟

    我的应用程序中有一个 datagridview 它保存开始和结束时间 我想计算这两个时间之间的分钟数 到目前为止我已经得到 var varFinish tsTable Rows intCellRow Finish Time TimeSpan
  • 不支持 Html 目标属性

    我刚刚在 w3Schools 上查看了 target 发现任何主要浏览器都不再支持它 简单的谷歌搜索没有揭示出这个原因 我应该避免同时使用目标吗 target属性is所有浏览器都支持 它已从 HTML4 Strict 和 XHTML 1 S
  • 将图像转换为 Base64 字符串的应用程序在有头模式和无头模式下运行时会在浏览器控制台上显示不同的结果。有谁知道为什么?

    我正在使用 Playwright 为 Node js 应用程序编写自动化测试 该应用程序有一个测试网页 其中有一个按钮 允许手动选择图像 然后该图像将被处理并转换为 Base64 字符串 该字符串将记录在浏览器的控制台上以进行验证 我正在编
  • 函数中 var 加 10 后变为 NaN

    var post 10 function load more str var xmlhttp new XMLHttpRequest xmlhttp onreadystatechange function if xmlhttp readySt
  • 用于 HTTP 压缩的 GZip 或 Deflate

    哪种压缩方法更好 我听说过很多关于 GZip 被更广泛使用的说法 但 Deflate 更快 在某些情况下 是否有公认的标准来使用哪个标准以及为什么 UPDATE 根据链接问题的最新更新 应该使用 GZip 看http www vervest
  • PHP Curl 缓慢

    由于某种原因 我的卷曲调用非常慢 这是我使用的代码 postData test ch curl init curl setopt ch CURLOPT URL url curl setopt ch CURLOPT POST true cur
  • 为什么 Rails 中需要 attr_accessor?

    我偶尔会在模型代码中看到属性访问器 读取器 编写器 如果我希望能够从视图 控制器代码更新属性 这些是必要的吗 我是一个初学者 所以我真正谈论的是基本应用程序 attr accessor是 Ruby 的核心功能 用于通过 getter 和 s
  • 在 PHP 中从 HTML 中提取所有文本和 img 标签。 [复制]

    这个问题在这里已经有答案了 可能的重复 使用 PHP 解析 HTML 的最佳方法 https stackoverflow com questions 3577641 best methods to parse html with php 对
  • 使用 Ajax 修改并保存 JSON 文件中的数据

    首先这是我的 json file ids 1 2 names John Richards Doe Williams skills Senior Software Engineer Junior Software Developer 这是我的
  • PhoneGap / Apache Cordova 是否提出了用于加密 SQLite 数据库的 API

    我想知道使用 PhoneGap Apache Cordova 创建 访问和加密的 SQLite 数据库是否可能 我读到我可以在存储之前加密 之后解密 但这不是我想要的 我宁愿寻找 PhoneGap 插件或 API 使用类似的东西 http
  • 每当应用程序运行或不运行时显示通知

    在我的程序中 无论应用程序是否运行 都必须激活通知 我应该将通知方法放在 onCreate 中吗 我的通知就像闹钟一样 请稍微检查一下 public String getCurrentTime Calendar c Calendar get
  • 如何在最新的azure webjob 3.03中指定AzureWebJobsStorage

    我将旧的 azure webjob 代码更新为打包到 3 03 然后它就不起作用了 我设法修复了所有编译时错误 但在本地运行时 它会抛出以下错误 Microsoft Azure WebJobs Host Indexers FunctionI
  • 带有自定义 json 数据的 JsTree

    我在 json 中有这个结构 无法根据请求进行修改 Object url http www google com id 1 name Redirection Rule Object frequency 1 trigger 1 Object
  • 如何使用 Express 在 NodeJS 中的 GET 请求中发出 GET 请求

    基本上 我试图在回调 GET 方法中从 Facebook 获取访问令牌 下面是我的代码 getAccessToken根本没有被调用 正确的实施方法是什么 app get fbcallback function req res var cod
  • React - setState 不更新值

    我正在尝试使用 DidMount 中的 localStorage 值更新状态 但它没有更新 type Props type State id evaluation string class Evaluation extends Compon
  • 在c#中查找编译类的源文件

    我正在寻找一组已编译的 net 程序集中特定类的关联源文件 e g MyAsm Namespace Foo gt C Source foo cs MyAsm Namespace Bar gt C Source Code MoreCode C
  • 如何使用 Google Apps 脚本限制文件的复制/下载/打印访问

    有没有人找到一种方法来限制使用谷歌应用程序脚本复制 下载 打印电子表格的访问权限 背景信息 我创建了一个使用 setShareableByEditors false 限制编辑者共享权限的脚本 唯一的问题是编辑者仍然可以轻松地复制电子表格 然