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

Leo*_*ard 5 python google-api

我尝试将其提交给 Google 支持,但他们向我推荐了堆栈溢出,但使用 python 库 googleapiclient 运行 Google Drive API 的插入函数时出现问题。

Python 损坏的 API 函数调用

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

https://developers.google.com/drive/v2/reference/files/insert

如何在评论中提交代码行?

更新:

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()
Run Code Online (Sandbox Code Playgroud)

它实际上不起作用,您不断收到一条错误消息,指出需要字符串或 MediaFile 类型 File "/usr/local/lib/python2.7/site-packages/googleapiclient/discovery.py", line 692, in method raise TypeError('media_filename 必须是 str 或 MediaUpload。')

有谁知道为什么当文档明确说明使用 MediaFileUpload 时 media_body 不能是 MediaFileUpload ?

dav*_*oda 1

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

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