Ruby on rails 使用Google Drive gem从Google Drive服务帐户删除文件

Ruby on rails 使用Google Drive gem从Google Drive服务帐户删除文件,ruby-on-rails,ruby,google-drive-api,backup,discourse,Ruby On Rails,Ruby,Google Drive Api,Backup,Discourse,我们为Discussion创建了一个,它应该将备份同步到google drive服务帐户。 为了保持管理员的google drive帐户不乱,我们在同步器的末尾构建了一个方法,称为remove\u old\u files def remove_old_files google_files = session.files sorted = google_files.sort_by {|x| x.created_time} keep = sorted.take(SiteSetting.d

我们为Discussion创建了一个,它应该将备份同步到google drive服务帐户。
为了保持管理员的google drive帐户不乱,我们在同步器的末尾构建了一个方法,称为
remove\u old\u files

def remove_old_files
  google_files = session.files
  sorted = google_files.sort_by {|x| x.created_time}
  keep = sorted.take(SiteSetting.discourse_sync_to_googledrive_quantity)
  trash = google_files - keep
  trash.each { |d| d.delete(true) }
end
我们在一个实例变量中记录了之前的会话对象。因此,通过
session.files
我们可以获得谷歌硬盘帐户中所有文件的数组。在
sorted
变量中,我们将它们从新到旧进行排序。在
keep
变量中,我们取前几个(设置数量的管理员帽),在
trash
变量中,我们定义其余的。在此之前,该方法在控制台中工作。 现在,在谷歌硬盘gem的文档中,有一个文件对象的
delete
方法:

但是当我试图通过rails控制台删除时,它告诉我
Success-nil
,好像一切都很顺利<但是当我计算或调用这些文件时,它们仍然存在。即使我试图删除它们设置
permanent=true
:/ 谷歌为什么不删除旧的备份文件?

定义“仍然存在”。删除的确切响应是什么(即是200还是204)?你是删除还是删除?
    def delete(permanent = false)
       if permanent
         @session.drive.delete_file(id)
       else
         @session.drive.update_file(id, { trashed: true }, {})
       end
       nil
    end