google驱动器APIreturn资源不足

google drive API return insufficient resources

我现在正在开发一种软​​件,可以跟踪 google 驱动器中的更改并获取每个更改的最后修改者的名称。我通过访问每个文件的修订并使用 google 驱动器 API 从修订资源中提取 "lastModifyingUser" 来执行此操作。

但是,我发现 return 修订资源仅包含 "kind"、"id"、"mimetype" 和 "modifiedTime"。当我尝试使用 .get('lastModifyingUser') 时,我得到了 None。这很令人困惑。我也尝试使用 .list(),它仍然 return 相同的结果。我会在下面附上我的代码,供大家检查可能存在的问题。

# Call seleted files revisions
revisions = []
for i in range (len(seleted_files_week) - 1):
    try:
        # revisions.append(service.revisions().list(fileId = seleted_files_week[i][3]).execute().get('revisions'))
        revisions.append(service.revisions().get(fileId = seleted_files_week[i][3],revisionId = 1).execute())
    except:
        print("error")
我得到的 return 价值的一部分
[{'kind': 'drive#revision', 'id': '1', 'mimeType': 'application/vnd.google-apps.document', 'modifiedTime': '2018-08-16T06:18:41.664Z'}, {'kind': 'drive#revision', 'id': '1', 'mimeType': 'application/vnd.google-apps.document', 'modifiedTime': '2018-09-05T02:11:35.423Z'}]
  • 您想使用 service.revisions().list() 从文件中检索 lastModifyingUser

如果我的理解是正确的,这个修改怎么样?

修改点:

  • 从您的问题来看,您使用的似乎是 Drive API v3。因此,为了使用 service.revisions().list() 从文件中检索 lastModifyingUser,它使用 revisions/lastModifyingUser 作为 fields

修改后的脚本:

请修改如下

从:
revisions.append(service.revisions().list(fileId = seleted_files_week[i][3]).execute().get('revisions'))
到:
revisions.append(service.revisions().list(fileId = seleted_files_week[i][3], fields = "revisions/lastModifyingUser").execute().get('revisions'))

注:

  • 如果您还想检索其他元数据,请告诉我。

参考文献:

如果我误解了你的问题,我很抱歉。