【问题标题】:change owner and send email更改所有者并发送电子邮件
【发布时间】:2018-03-02 21:52:14
【问题描述】:

好吧,我正在传输几个文件的属性,我想省略通知电子邮件,我在库中找到了一些模型,但如果没有我的代码我就无法做到,如果有人可以帮助我我'不胜感激

function folderTransfer()
  {
    var pas = DriveApp.getFolderById("ID");
    var arquivos = pas.getFiles();
    var me = 'email'; /* tirar este e-mail e deixar que seja qualquer prop.*/
    var novoProp = 'email';
  
    var pastas = pas.getFolders();
    while (pastas.hasNext())
    {
      var pasta = pastas.next();
      var pastaID = pasta.getId();
      fileTransfer(pastaID, me, novoProp);
      pasta.setOwner(novoProp);
      pasta.removeEditor(me);
    }
    //Transferir pasta pai para novoProp
    pas.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.VIEW);
    pas.setOwner('email');
    pas.removeEditor('email'); 
    
 function fileTransfer(pastaID, prop, novoProp)
  {
    var pasta = DriveApp.getFolderById('id');
    var arquivos = pasta.getFiles();
  
    while (arquivos.hasNext())
    {
      var arquivo = arquivos.next();
      arquivo.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.VIEW);
      arquivo.setOwner('email');
      arquivo.removeEditor('email');
     
      }
    }
 }

【问题讨论】:

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


【解决方案1】:

您使用DriveApp 打开文件,这会强制发送通知电子邮件(根据this related question)。如果您知道它是什么类型的文件(doc、sheet 等),您应该使用适当的应用程序(SpreadsheetAppDocumentApp 等)打开它,以避免发送共享通知。您需要检查 MIME 类型以通过适当的应用程序共享。

这里有一些可能更接近的未经测试的代码:

while (arquivos.hasNext())
    {
      var arquivo = arquivos.next();
      var type = arquivo.getMimeType();
      if(type == "application/vnd.google-apps.document") {
        DocumentApp.openById(arquivo.getId()).addEditor('email');
      } else if(type == "application/vnd.google-apps.spreadsheet") {
        SpreadsheetApp.openById(arquivo.getId()).addEditor('email');
      } //etc...
    }

请注意,您只能通过DriveApp 设置所有者,这意味着您可以删除电子邮件通知。这是您可以通过 Apps 脚本获得的最接近的方法。

More in GAS MIME types.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多