检索自Google Drive API日期起修改的文件

2024-06-10 00:46:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近有一个谷歌硬盘同步出了很大的问题,我正在拼命恢复以前被覆盖的文件版本。由于GoogleDrive不支持将整个驱动器回滚到以前的状态,因此我一直在为API使用python包装器。我编写了以下函数:

def GetFilesModifiedSince(dt,service):
    recentlyModified = service.files().list(orderBy="modifiedTime desc").execute()
    recentRevisions = {}
    while True:
        for recent in recentlyModified["files"]:
            try:
                recentRevisions[(recent["id"], recent["name"])] = service.revisions().list(fileId=recent["id"]).execute()["revisions"]

                modified = parser.parse(recentRevisions[(recent["id"], recent["name"])][len(recentRevisions[(recent["id"], recent["name"])]) - 1]["modifiedTime"])

                if modified < dt:
                    return recentRevisions
            except Exception as e:
                print(recent["id"], recent["name"])
                print(e)
                pass

        recentlyModified = service.files().list(orderBy="modifiedTime desc",pageToken=recentlyModified["nextPageToken"]).execute()
    return recentRevisions

这似乎不会返回指定dt之后的修订。我使用的是谷歌驱动API V3


Tags: nameapiidexecuteservicedtfilesdesc