【发布时间】:2018-09-14 03:23:30
【问题描述】:
在 google 文档中,当您检查修订时,它会显示每个修订、谁在编辑以及他们编辑了什么。现在我正在使用https://developers.google.com/drive/api/v3/about-sdk 来获取谷歌驱动器信息。现在我可以获得谷歌驱动器的大部分细节,比如所有文件的 id、名称、每个文件的修订数。但是有一个问题,对于revision.get()方法,我只能在他们修改每个修订时获取每个修订的id,lastmodifiedUser。我无法了解他们在每次修订中所做的更改,也无法获得编辑的字数。在开发者网站中,它提供了一些对象来显示修订版更改的大小。但它提到它只适用于谷歌驱动器中的二进制文件。它还告诉我们,您将无法访问 google doc、sheet 详细修订信息。有谁知道如何从谷歌驱动器修订中获取单词更改? 这是获取修订信息的代码。
from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'
def main():
store = file.Storage('token.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('credentials.json', SCOPES)
creds = tools.run_flow(flow, store)
service = build('drive', 'v3', http=creds.authorize(Http()))
# Call the Drive v3 API
results = service.files().list(
pageSize=2, fields="nextPageToken, files(size,id, name)").execute()
items = results.get('files', [])
print(items)
response = service.changes().list(pageToken=1,
spaces='drive').execute()
for change in response.get('changes'):
# Process change
print( 'Change found for file: %s' % change.get('fileId'))
if 'newStartPageToken' in response:
# Last page, save this token for the next polling interval
saved_start_page_token = response.get('newStartPageToken')
page_token = response.get('nextPageToken')
results = service.revisions().list(
fileId='1KlrFKGxmqKMxjdEx-NoJ1ApG5qvlaKBMA7ZdVcITzGY',
).execute()
items = results
print(items,"\n")
if __name__ == '__main__':
main()
【问题讨论】: