Загрузить и преобразовать XLSX в Google Sheets с PyDrive - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь загрузить файл .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'

В Google документация

Я нашел другой MimeType

'mimeType':'application/vnd.google-apps.spreadsheet'

Но это дает мне ошибку

ApiRequestError: https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&alt=json возвращено "Указан неверный тип MIME">

Пожалуйста, предложите, как я могу достичь желаемого результата.

1 Ответ

0 голосов
/ 12 декабря 2018

Я думаю, что главный вопрос будет в том, использует ли 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.

...