写入 script/program 以自动写保护并将每个新电子表格汇总到 Google Drive 文件夹中

Writing script/program to automatically write-protect and aggregate each new spreadsheet in a Google Drive folder

我正在尝试使当前手动完成的流程自动化:

Google 驱动器中有一个文件夹 /foo,其中包含 Google 个 Spreadsheet。每次将新的 spreadsheet 文件添加到该文件夹​​时:

  1. 传播sheet应该被锁定以防止任何写入,即变为只读
  2. 将其值汇总到单独的传播sheet,即新传播sheet中单元格A1:A10的总和应添加到聚合传播的单元格B2sheet.

我之前从未与任何 Google Sheets/Apps/Drive API 合作过,所以我不确定这是否可能。我有具体问题:

  1. 有没有办法在将新 sheet 添加到 Google Drive 文件夹时触发脚本?
  2. 有没有写保护 sheets 的方法?
  3. 更一般地说,这应该使用 Google Apps Script 还是 Google Sheets API(即外部客户端)来完成?

例如,我在 Google Apps 脚本 API 中找到了 Protection class,但我不确定它是否具有我需要的所有其他功能。

可以通过 Google Drive Push Notifications 实现。

基本上你会写一个 standalone script and implement its doPost() method, deploy the script as a Web App and then register the Web App's url as a webhook (via the Developer's Console as described in the documentation on Push Notifications)。然后您将设置通知渠道以监视驱动器更改。当驱动器发生变化时,数据将发送到网络挂钩 url,您可以检查有效负载以查看发生了什么变化。

要对 sheet 进行写保护,您可以按照 Share Files section of the Google Drive API guides.

中的说明设置文件权限