我试图将其提交给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()
它实际上不起作用,您不断收到一条错误消息,说需要字符串或MediaFile类型方法中的文件"/usr/local/lib/python2.7/site packages/googleapiclient/decovery.py",第692行raise TypeError('media_filename必须是str或MediaUpload.')
有人知道为什么media_body不能是MediaFileUpload,而文档中明确表示使用MediaFileUploads吗?
从comments线程中,以下是最终解决问题的答案:
升级至最新的google-api-python客户端(截至本文撰写之时的1.4.2版本)。