python – 使用API​​将通用二进制文件上传到GDrive

我想使用
Python 3.6和Google Drive API v3将通用二进制文件(特定的.root文件,CERN的ROOT输出)上传到Google Drive.如果我尝试我的常用代码:

FILES = ((filename, None) for filename in filelist)
for filename, mimeType in FILES:
    metadata = {'name': filename}
    if mimeType:
        metadata['mimeType'] = mimeType
    res = DRIVE.files().create(
        body = metadata, media_body = filename).execute()

我收到以下错误:

raise UnknownFileType(media_filename)
googleapiclient.errors.UnknownFileType

我想这取决于GDrive未知根文件的事实.有没有办法上传它们(或任何其他“自定义”二进制文件,如果这很重要)?

最佳答案 我知道谷歌驱动器的最广泛的文件扩展名mime类型列表可以在这里找到.
MimeType.cs

我不认为你将能够组成自己的文件扩展名和mime类型然后上传它.它需要是列表中的一个或谷歌驱动器不知道如何处理它.

你有没有考虑过ziping你的文件然后使用

{“.zip”, “application/x-zip-compressed”},

点赞