Python Google drive API无法使用mediaFileUpload插入媒体文件

Python Google drive API无法使用mediaFileUpload插入媒体文件,python,google-api,Python,Google Api,我尝试将此提交给Google支持人员,但他们让我参考stack overflow,但在使用python库GoogleAppClient为Google Drive API运行插入函数时出现了问题 Python中断的API函数调用 尝试按照中的说明插入MediaFileUpload时 如何在注释中提交代码行 更新: http = httplib2.Http() http = credentials.authorize(http) service = build('drive', 'v2', htt

我尝试将此提交给Google支持人员,但他们让我参考stack overflow,但在使用python库GoogleAppClient为Google Drive API运行插入函数时出现了问题

Python中断的API函数调用

尝试按照中的说明插入MediaFileUpload时

如何在注释中提交代码行

更新:

http = httplib2.Http()
http = credentials.authorize(http)
service = build('drive', 'v2', http=http)
media_body = MediaFileUpload('test.csv', mimetype='application/vnd.ms-excel', resumable=True)

body = {
'title': 'test.csv',
'description': 'test description',
'mimeType': 'application/vnd.ms-excel'
}
file = service.files().insert(body=body,media_body=media_body).execute()
它实际上不起作用,您不断收到一条错误消息,说需要字符串或媒体文件类型 方法中的文件“/usr/local/lib/python2.7/site packages/googleapiclient/discovery.py”,第692行 raise TypeError('media_文件名必须是str或MediaUpload')


有人知道为什么文档中明确说明使用MediaFileUpload时,media body不能使用MediaFileUpload吗?

从评论线程中,以下是最终解决问题的答案:


升级到最新的google api python客户端(撰写本文时为1.4.2版)。

我有一个与此非常类似的程序,目前正在运行。你能用更多的代码更新你的问题吗?当然没问题。注释格式有点有限-最好是更新原始问题中的代码段。我已经更新了代码,正文和媒体正文请求中有一点冗余,但这应该没问题。您如何验证?我无法给出答案,因为我的分数太低,但感谢您解决了问题。我会留下这些代码,以防有人需要使用python API将文件上传到Google Drive。是的,这些代码很有用——我以前的版本只适用于文本文件,所以它似乎可以帮助其他人。