Python Drive API需要一个“本地文件”来执行可恢复的文件上传到Google云端硬盘,如何使用只有blob且无法访问本地文件系统的Google Appengine来完成此操作。
在旧的doclist API(现已弃用)下,您可以使用以下代码将文件从Google Appengine blobstore上传到Google云端硬盘:
CHUNK_SIZE = 524288
uploader = gdata.client.ResumableUploader(
client, blob_info.open(), blob_info.content_type, blob_info.size, chunk_size=CHUNK_SIZE, desired_class=gdata.docs.data.DocsEntry)
关键部分是使用blob_info.open()而不是提供对本地文件的引用。
我们如何使用新的Drive API实现相同目标?
请注意文件相当大,因此需要可恢复的上传,我也知道这可以用Java完成,但我正在寻找Python解决方案。
非常感谢, 伊恩。
答案 0 :(得分:0)
看起来您正在使用旧的GData客户端库和Documents List API。如果您使用新的Drive SDK和Google API Python客户端库,则可以使用MediaIoBaseUpload类从内存而不是文件创建媒体上传对象。