是否有Google gdata Python客户端支持的媒体类型列表?

时间:2014-12-01 12:16:30

标签: python google-drive-api gdata media-type

愚蠢的问题,但是有没有人知道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"

我非常感谢您提供任何可能的答案和帮助。

0 个答案:

没有答案