Загрузить и преобразовать XLSX в Google Sheets с PyDrive
Я пытаюсь загрузить файл.xlsx на диск Google. Я могу загрузить его. Но когда мы пытаемся открыть тот же файл на диске, его нужно открыть с помощью Google Sheets. Таким образом, он создает новый файл с тем же именем и занимает место на диске.
Я полагаю, мне нужно изменить MimeType при загрузке.
Что я пробовал это:
file = drive.CreateFile({"parents": [{"kind": "drive#fileLink", "id": FolderID}]
,'title': fileName
,'mimeType':'application/vnd.ms-excel'})
file.SetContentFile('12dec2018.xlsx')
file.Upload()
и я тоже попробовал этот
'mimeType':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
В гугл документации
Я нашел другой MimeType
'mimeType':'application/vnd.google-apps.spreadsheet'
Но это дает мне ошибку
ApiRequestError
: https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&alt=json вернул "Предоставлен неверный тип пантомимы">
Подскажите, пожалуйста, как мне достичь желаемого результата.
1 ответ
Я думаю, что главный вопрос будет в том, использует ли pydrive Google drive v2 или Google drive v3. Мои раскопки в исходных швах указывают на v2, что означает, что при создании файла вам нужно отправить convert=true
для файла, который будет конвертирован во время загрузки files.inesrt
# {'convert': True} triggers conversion to a Google Drive document.
file.Upload({'convert': True})
Отправив команду convert при загрузке файла, он автоматически преобразуется в тип документа Google.