5

我正在使用 PyDrive 在 Google Drive 中创建文件,但我遇到了实际的 Google Doc 类型项目的问题。

我的代码是:

file = drive.CreateFile({'title': pagename, 
"parents":  [{"id": folder_id}], 
"mimeType": "application/vnd.google-apps.document"})

file.SetContentString("Hello World")

file.Upload()

如果我将 mimetype 更改为,这可以正常工作,text/plain但它给了我错误:

引发 ApiRequestError(error) pydrive.files.ApiRequestError: https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&alt=json 返回“提供的 MIME 类型无效”>

如果我让 MimeType 保持原样,它也可以正常工作,但删除对 SetContentString 的调用,所以看起来这两件事不能很好地结合在一起。

创建 Google Doc 并设置内容的正确方法是什么?

4

1 回答 1

8

Mime 类型必须与上传的文件格式匹配。您需要一种受支持格式的文件,并且需要使用匹配的内容类型上传它。所以,要么:

file = drive.CreateFile({'title': 'TestFile.txt', 'mimeType': 'text/plan'})
file.SetContentString("Hello World")
file.Upload()

这个文件可以通过谷歌笔记本访问。或者,

file = drive.CreateFile({'title': 'TestFile.doc', 
                         'mimeType': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'})
file.SetContentFile("TestFile.docx")
file.Upload()

可以用谷歌文档打开。可以在此处找到支持的格式和相应的 mime 类型列表。

要将文件即时转换为 Google Docs 格式,请使用:

file.Upload(param={'convert': True})
于 2017-07-31T09:13:07.923 回答