当前位置: 首页 > 知识库问答 >
问题:

Google Drive Rest API-如何检查文件是否已更改

汪修诚
2023-03-14

除了比较全部内容之外,是否有一种可靠的方法来检查驱动器中的文件是否更新/更改?

我将一个纯文本文件上传到Google Drive(简单上传,更新endpoint),并从成功上传后返回的文件元数据中保存版本

然后,我偶尔轮询驱动器API(get endpoint)以检查版本是否已更改。

问题是,在上传文件的一两秒钟内,版本又会被提升。

文件内容没有更改。该文件尚未在其他任何地方打开、查看或下载。不过,版本号会比上传后的版本号增加。

对我的代码来说,这个版本号的更改表明远程文件在驱动器中已经更改,所以它下载新版本。每次都是!

2.更改endpoint

作为替代方案,我尝试使用Changes API。

上传文件后,我会使用changes.getStartPageTokenchanges.list获得页面标记

稍后,我使用这个页面标记轮询Changes API以查找更改,并根据上传文件的文件ID筛选更改。我在轮询更改时使用以下选项:

{
    "includeRemoved": false
    "restrictToMyDrive": true
    "spaces": "drive"
}

然而,上传几秒钟后,该文件就会重新出现在更改列表中。

因此,假设远程更改,本地代码将从驱动器重新下载文件。

可能的变通办法

    null

除了比较全部内容之外,是否有一种可靠的方法来检查驱动器中的文件是否更新/更改?

共有1个答案

杜海
2023-03-14

您还可以使用修订API。

Revisions资源对象还具有MD5checksum属性。

 类似资料:
  • 问题内容: 我试图找到一种聪明的方法来找出传递给sed的文件是否已成功更改。 基本上,我想知道文件是否已更改,而不必查看文件修改日期。 我之所以需要这样做,是因为如果sed成功替换了模式,我需要做一些额外的事情。 我目前有: 上面的代码有点贵,我希望能够在这里使用一些技巧。 问题答案: 您可以改用: ” 我忽略了该功能:您可以根据需要使用Shell做重定向。 叹。下面有许多评论要求提供有关shel

  • 问题内容: 以编程方式检查PDF文件是否被完全扫描的最佳方法是什么?我确实可以使用iText和PDFBox。我可以检查pdf文件是否包含文本,并根据结果确定该文件是否为OCRed,但是此解决方案并非100%准确。我想知道是否还有另一种方法来解决这个问题。 如您所知,解决方案必须基于Java。 问题答案: 最好的选择是检查它是否包含文本,还查看它是否包含大的页面化图像或覆盖页面的大量平铺图像。如果您

  • 问题内容: 在我的模型中,我有: 第一次修改效果很好。 有人修改别名上的时,如何获取新图像?其次,是否有更好的方法来缓存远程映像? 问题答案: 本质上,你想覆盖方法,以便保留原始值的副本。这样一来,你就不必进行其他数据库查找(这总是一件好事)。

  • 问题内容: 我需要编写一个自定义的批处理文件重命名器。我已经完成了大部分工作,除了我不知道如何检查文件是否已经打开。我只是在使用软件包,并且有一种方法,但是似乎无法测试该文件是否正在被另一个程序使用。关于如何进行这项工作的任何想法? 问题答案: 使用Apache Commons IO库…

  • 如果文档ID不存在,我想将数据添加到firestore数据库中。到目前为止,我一直在尝试: 目标是检查数据库中的所有文档ID,并查看与“varuId”变量的任何匹配。如果匹配,则不会创建文档。如果不匹配,它应该创建一个新文档

  • 问题内容: 我想检查linux bash文件是否已创建超过x次。 假设文件名为text.txt,时间为2个小时。 问题答案: 仅用于修改时间 或者,同一行: 您可以使用更改或访问时间。正如其他人指出的那样,我认为您无法跟踪创建时间。