【问题标题】:DO NOT send notifications when share a file共享文件时不要发送通知
【发布时间】:2020-09-11 10:21:36
【问题描述】:

我编写了一个代码,可以将文件夹的文件复制并粘贴到其他人,并与其他人共享文件,这些人可以编辑或查看文件。

我需要将副本和权限复制到新文件时,不要将电子邮件通知发送给编辑和查看者。

U 使用的第一个代码是这样的:

  var PeopleToEdit = file.getEditors();
  var PeopleToView = file.getViewers();
      for (var i=0 ; i < PeopleToEdit.length; i++){
      newFile.addEditor(PeopleToEdit[i]);}
      for (var i=0 ; i < PeopleToView.length; i++){
      newFile.addViewer(PeopleToView[i]);}

但是,对于我正在尝试的电子邮件:

function addEditors(file1, file2){
var file = DriveApp.getFileById(file1);
var PeopleToEdit = file.getEditors();
for (var i=0 ; i < PeopleToEdit.length; i++){
       
 Drive.Permissions.insert(
  {
   'role': 'writer',
   'type': 'user',
   'value': PeopleToEdit[i].getEmail()
  },
  file2,
  {
   'sendNotificationEmails': 'true'
  });

在我的本地驱动器中工作,但是当我在共享驱动器中使用它时,显示此错误,我不知道会是什么。

GoogleJsonResponseException:对 drive.permissions.insert 的 API 调用失败并出现错误:找不到文件:1-qsWWwWZI2f0phJW4AO_LLP5fLn2Ica_MhkUClM-s-E

【问题讨论】:

    标签: google-apps-script google-drive-api


    【解决方案1】:

    两件事

    1. 为共享驱动器上的文件创建驱动器权限时,需要将参数supportsAllDrives设置为true

    2. 如果您不想发送通知,则需要将sendNotificationEmails 设置为false

    示例请求:

    Drive.Permissions.insert(
      {
       'role': 'writer',
       'type': 'user',
       'value': PeopleToEdit[i].getEmail()
      },
      file2,
      {
       'supportsAllDrives': true, 
       'sendNotificationEmails': false
      });
    

    【讨论】:

    • 您好,谢谢。该错误不再显示,它有效,但现在只与“成员”共享,我正在复制的文件中的“客人”不会出现在新文件中。但非常感谢。
    • 嗨! guests 是什么意思?不是共享云端硬盘成员但有权访问您插入权限的文件的人?此文件副本是否分配在共享云端硬盘中?
    • 您好,是的,这些文件位于共享云端硬盘中,但这些文件是单独与不同的人共享的。例如,共享云端硬盘中有 16 个人,其中包含 6 个文件。这6个文件共享给16个人(会员),文件号1同时共享给会员(16个人),还有4个人(客人),文件号2共享给“成员”和其他不同的 7 人(客人)。当它运行时,仅与成员(16)共享,我需要文件也与客人共享。不知道能不能解释清楚,非常感谢
    • PeopleToEdit[i].getEmail() 中是否拥有所有您想要的用户(即共享云端硬盘中的用户加上guests?当您登录PeopleToEdit 时,这个数组是否包含您想要的所有用户?跨度>
    • 你的意思是除了PeopleToEdit之外还要对PeopleToView执行同样的请求吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多