是否有脚本可以清空Google Team Drive垃圾桶相关文件夹?

时间:2019-09-03 02:11:30

标签: google-apps-script

如何制作一个脚本来清空Google Team Drive垃圾文件夹?如果我在Google驱动器中有三个主文件夹,则它会成为三个主垃圾箱文件夹。如何清空所有这些文件夹?

我发现的所有脚本仅能清空驱动器回收站文件夹。

我已经尝试了很多脚本,因为您可以看到下面的代码

function createTimeDrivenTriggers() {
  ScriptApp.newTrigger('emptyThrash')
      .timeBased()
      .everyMinutes(1)
      .create();
}
function emptyThrash()
{
Drive.Files.emptyTrash();

}


// I have also tried the script below
function doGet() {
  try{
  authorize();    
  var key = "YOUR DEVELOPER KEY";
  var params = {method:"DELETE",
                oAuthServiceName: "drive",
                oAuthUseToken: "always"
               };  
  UrlFetchApp.fetch("https://www.googleapis.com/drive/v2/files/trash?key="+key,     params);  
  }
  catch(error)
  {
    MailApp.sendEmail("<some email>", "EMPTY TRASH BIN ERROR:<br>"+error);    
    return;
  } 
}

function authorize() {
  var oauthConfig = UrlFetchApp.addOAuthService("drive");
  var scope = "https://www.googleapis.com/auth/drive";
  oauthConfig.setConsumerKey("anonymous");
  oauthConfig.setConsumerSecret("anonymous");
  oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?     scope="+scope);
  oauthConfig.setAuthorizationUrl("https://accounts.google.com/OAuthAuthorizeToken");    
  oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");  
}

1 个答案:

答案 0 :(得分:0)

无法直接清空Google Team Drive垃圾箱文件夹。

您可以做的是利用Advanced Drive Servicelist破坏团队运动的内容,然后永久delete这些内容:

function myFunction() { 
  var optionalArgs={'driveId':'THE TEAM DRIVE ID', 'includeItemsFromAllDrives':true, 'corpora': 'drive', 'supportsAllDrives': true, 'q':'trashed = true' }  
  var trashed=Drive.Files.list(optionalArgs).items; 
  for(var i=0;i<trashed.length;i++){
    Drive.Files.remove(trashed[i].id, {'supportsAllDrives':true}) 
  }
}

对于团队合作,请确保将'includeItemsFromAllDrives':true, 'corpora': 'drive', 'supportsAllDrives': true设置为列表,将'supportsAllDrives':true设置为删除文件。要仅查询已删除的文件,请使用'q':'trashed = true'

  

请注意,所有共享驱动器的内容将被删除   成员并删除它们,您需要具有适当的权限(   经理或内容经理)。