如何使用Python将Google文档下载为.odt格式文件
用Python将Google文档下载为ODT格式
前置准备
- 安装依赖包:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib - 在Google Cloud平台创建项目,启用Google Drive API,并下载服务账号密钥文件(JSON格式)。
- 将目标Google文档共享给服务账号密钥中的
client_email,赋予至少查看权限。
实现代码
from google.oauth2 import service_account from googleapiclient.discovery import build from googleapiclient.http import MediaIoBaseDownload import io # 配置参数 SERVICE_ACCOUNT_FILE = '你的服务账号密钥文件路径.json' DOCUMENT_ID = '目标Google文档的ID' OUTPUT_FILE = '导出的文件.odt' # 授权并构建Drive服务 SCOPES = ['https://www.googleapis.com/auth/drive.readonly'] credentials = service_account.Credentials.from_service_account_file( SERVICE_ACCOUNT_FILE, scopes=SCOPES) service = build('drive', 'v3', credentials=credentials) # 导出为ODT格式 request = service.files().export_media( fileId=DOCUMENT_ID, mimeType='application/vnd.oasis.opendocument.text' ) fh = io.FileIO(OUTPUT_FILE, 'wb') downloader = MediaIoBaseDownload(fh, request) done = False while done is False: status, done = downloader.next_chunk() print(f"下载进度: {int(status.progress() * 100)}%") print(f"ODT文件已保存至: {OUTPUT_FILE}")
关键说明
- DOCUMENT_ID获取:打开目标Google文档,URL中
d/和/edit之间的字符串即为文档ID。 - MIME类型对应:ODT格式对应的MIME类型是
application/vnd.oasis.opendocument.text,如果需要导出其他格式,可替换对应MIME类型(比如DOCX对应application/vnd.openxmlformats-officedocument.wordprocessingml.document)。 - 权限问题:确保服务账号已被添加为文档的共享用户,否则会出现权限不足的错误。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

