愚蠢的问题,但是有没有人知道Google gdata(特别是Python)客户端是否支持媒体类型列表?
我可以使用媒体类型将.jpg文件成功上传到我的Google云端硬盘;
image/jpeg
但是,如果我尝试上传加密的压缩存档(.tar.bz2.gpg)文件,那么我会收到以下运行时错误;
gdata.service.RequestError: {'status': 415, 'body': 'Content-Type multipart/encrypted is not a valid input type.', 'reason': 'Unsupported Media Type'}
从错误消息中可以看出,我正在使用媒体类型;
multipart/encrypted
在后一种情况下。我认为这将是一个有效的媒体类型,因为它似乎是最相关的根据;
http://en.wikipedia.org/wiki/Internet_media_type
我还尝试使用媒体类型上传.zip文件;
application/zip
视为媒体类型列在文件gdata / docs / service.py中,即;
# File extensions of documents that are permitted to be uploaded or downloaded.
SUPPORTED_FILETYPES = {
'CSV': 'text/csv',
'TSV': 'text/tab-separated-values',
'TAB': 'text/tab-separated-values',
'DOC': 'application/msword',
'DOCX': ('application/vnd.openxmlformats-officedocument.'
'wordprocessingml.document'),
'ODS': 'application/x-vnd.oasis.opendocument.spreadsheet',
'ODT': 'application/vnd.oasis.opendocument.text',
'RTF': 'application/rtf',
'SXW': 'application/vnd.sun.xml.writer',
'TXT': 'text/plain',
'XLS': 'application/vnd.ms-excel',
'XLSX': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'PDF': 'application/pdf',
'PNG': 'image/png',
'PPT': 'application/vnd.ms-powerpoint',
'PPS': 'application/vnd.ms-powerpoint',
'HTM': 'text/html',
'HTML': 'text/html',
'ZIP': 'application/zip',
'SWF': 'application/x-shockwave-flash'
}
但是,我收到了相同的运行时错误消息,抱怨“不支持的媒体类型”。
我越是关注这一点,我就越开始认为问题出在服务器方面 - 而不是客户端。我是否需要在服务器或类似的地方注册此类文件?
对于它的价值,我负责执行上传操作的方法如下:
def uploadFile(self, filename, mediaType, titleUpload, labelUpload) :
nameMethod_short = "GoogleDriveConnector::uploadFile"
nameMethod = nameMethod_short + " : "
print nameMethod + "Enter"
mediaSource = gdata.MediaSource()
mediaSource.setFile(filename, mediaType)
self.client.Upload(
mediaSource,
titleUpload,
None,
labelUpload)
print nameMethod + "Exit"
我非常感谢您提供任何可能的答案和帮助。