2017-09-21 66 views
0

嗯,我轉移了多個文件的屬性,我想省略通知電子郵件,我在圖書館中發現了一些模型,但是如果有人沒有我的代碼,我就無法做到這一點能幫助我,我會感激更改所有者併發送電子郵件

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'); 
 
     
 
     } 
 
    } 
 
}

+0

重複的https://stackoverflow.com/questions/21189936/share-a-drive-document-without-notifying-user-with-google-apps-script – Brian

+0

不幸的是我不知道我在做什麼錯,但這個例子不起作用 –

回答

0

你打開文件與DriveApp,這迫使該通知郵件(根據this related question)。如果你知道它是什麼類型的文件(文檔,表單等),你應該用適當的應用程序(SpreadsheetApp,DocumentApp等)打開它,以避免發送共享通知。您需要檢查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 Script獲得的最接近的值。

More in GAS MIME types

+0

謝謝,但是這段代碼在部分中起作用。 –

相關問題