我正在创建一个 Google App Engine 应用程序,我想在其中将文件上传到我的 Google Drive 文件夹。
为此,我正在使用 Google API Python 客户端库。 https://code.google.com/p/google-api-python-client/
我正在使用库中的 MediaIoBaseUpload 函数,因为我从一个表单中获取文件内容。我正在使用可恢复上传。
当我上传一个大约 15 MB 的较小文件时,它可以正常工作,但是大于 15 MB 的文件我在最后一个块中收到错误 400 Bad Request。
所有以前的块都工作正常,但最后一个块返回错误。
我正在尝试上传一个 zip 文件(大约 46 MB)。
这是我的代码:
fh = io.BytesIO(self.fileContent)
media = MediaIoBaseUpload(fh, "application/zip", 1024 * 1024, resumable=True)
http = httplib2.Http()
if credentials.invalid is True:
credentials.refresh(http)
else:
http = credentials.authorize(http)
drive_service = build('drive', 'v2', http=http)
body = {
'title': self.fileName,
'description': "",
"parents": [{
"kind": "drive#fileLink",
"id": self.folderId
}],
'mimeType': fileMimeType
}
response = drive_service.files().insert(body=body, media_body=media).execute()