我现在正在开发一款可以跟踪Google云端硬盘中的更改并获取每个更改的最后一个修饰符名称的软件。我通过访问每个文件的修订并使用Google Drive API从修订资源中提取“ lastModifyingUser”来实现此目的。
但是,我发现返回修订版资源仅包含“种类”,“ id”,“ mimetype”和“ modifiedTime”。当我尝试使用.get('lastModifyingUser')时,我什么也没有。这很令人困惑。我也尝试使用.list(),它仍然返回相同的结果。我将在下面附加我的代码,以便您检查可能的问题。
# 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")
我得到的部分返回值
[{'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'}]
答案 0 :(得分:1)
lastModifyingUser
从文件中检索service.revisions().list()
。如果我的理解是正确的,那么该修改如何?
lastModifyingUser
从文件中检索service.revisions().list()
,它使用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'))
如果我误解了你的问题,对不起。