从Google云端硬盘文件夹中删除旧文件

时间:2019-10-04 01:58:52

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

我创建了这个脚本来删除3个多小时前发布的文件。即使最新文件的时间早于3个小时,它也不会被删除,因此该文件夹永远不会为空。

我启用了称为DRIVE API V2的Google高级服务。

我激活了一个触发器,每隔5分钟分析一次文件夹,但是通常文件不会被删除,而是保留在文件夹中。该脚本有时有效,有时则无效。

我想知道什么是错误的,或者需要进行哪些编辑才能使其完美运行。

public class Calculator {

    private Floor floor;
    private Carpet carpet;

    public Calculator() {
    }

    public Calculator(Floor floor, Carpet carpet) {
        this.carpet=carpet;
        this.floor=floor;
    }

    public double getTotalCost() 
    {
        return (this.floor.getArea() * this.carpet.getCost());
    }
}


我还需要一些帮助,以便此脚本可以分析文件夹中是否存在具有相同名称的文件,如果存在,它将删除多余的文件,从而始终只有一个文件,每个名称。 / strong>

还有新细节,出现了一个新错误,直到更早之前都没有发生……说:

drive.files.delete的API调用失败,错误为该文件的权限不足(第24行)

第24行:

com = input ("String comparison [1(play), -1(quit)]: ")

while (com=='1'):
  s1 = input ("enter first string: ") 
  s2 = input ("enter second string: ") 
  n = input ("number of characters: ") #what is the purpose of this? 

  if s1==s2:
      print(f'{s1} is equal than {s2}')
  elif s1>s2:
      print (f'{s1} is greater than {s2}')
  elif s1<s2:
      print (f'{s1} is less than {s2}')
  else: 
      print ("Error")

2 个答案:

答案 0 :(得分:4)

通过使用消费者(免费)帐户,只有文件所有者才能删除它们。为防止错误,在调用Drive.Files.remove(fileID)之前,您的代码应检查您是否是文件所有者。

相关

答案 1 :(得分:1)

尝试一下:

 obj.sort(function(a, b) {
    var a=new Date(a.date).valueOf();
    var b=new Date(b.date).valueOf();
    return b-a;
  });