我使用 gspread 但如果另一个库这样做,我也可以使用它
我在研究中找不到方法
您可以使用以下命令
pip install --upgrade google-api-python-client
、pip install --upgrade google-auth-httplib2
和 pip install --upgrade google-auth-oauthlib
或按照 Drive API 快速入门中快速入门中的第一步来使用 Google 的 API 客户端库。
将使用以下方法:
如本文档中所述 下载并发布文件修订版 您可以非常轻松地下载修订版。对于我们的目标,Google 云端硬盘中有两种不同类型的文件:
二进制文件,使用 Google Drive API v3,您可以使用 Revisions.get 方法,并将
alt
参数设置为 media
您将下载该特定修订版,使用以下方式获取可用修订版列表Revisions.list 方法,这只适用于二进制文件,与用户编辑时自动获取新修订的文档编辑器文件不同,如果使用 Google Drive for Desktop 同步较新的版本,则二进制文件将具有修订(以前称为 Drive FileStream)。
文档编辑器文件,这些文件的过程略有不同。默认情况下,当您使用 Revisions.list 方法 时,您将获得有关可用修订版的少量信息,使用
fields
参数,您可以请求 exportLinks
获取可用修订版。
在Python中,以快速入门代码示例为基础,并将代码示例替换为
try:
service = build('drive', 'v3', credentials = credentials)
results = service.revisions().list(
fileId='The file ID',
fields='revisions(id,exportLinks)'
).execute()
revisions = results.get('revisions', [])
for revision in revisions:
print(revision)
except HttpError as error:
# TODO(developer) - Handle errors from gmail API.
print(f'An error occurred: {error}')
这是一个示例,说明文档编辑器文件的纯 JSON 格式的 API 响应如何。根据您有兴趣获取的文件,您将需要使用相应的链接。
{
"kind": "drive#revisionList",
"revisions": [
{
"id": "1",
"exportLinks": {
"application/rtf": "SOME_URL",
"application/vnd.oasis.opendocument.text": "SOME_URL",
"text/html": "SOME_URL",
"application/pdf": "SOME_URL",
"application/epub+zip": "SOME_URL",
"application/zip": "SOME_URL",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "SOME_URL",
"text/plain": "SOME_URL",
}
},
{ <-> },
{ <-> },
{ <-> }
]
}
请记住,对于二进制文件,您需要首先列出可用的修订版本,然后在获得修订版本 ID 后使用 Revisions.get 方法。
我还使用类似的 python 代码通过 api 客户端 json 更新我的 google 表格。代码计划每天早上运行一次。然而,当我查看谷歌表格中的版本历史记录时,每 15 分钟就有一个版本。我的服务电子邮件 ID 似乎对工作表进行了一些更改。知道如何解决这个问题吗?