Python: загрузите Google Doc как ODT

Я хочу загрузить документ Google в виде .odt-файла. Есть предыдущий вопрос о том, как загружать обычные файлы с Google Диска.

Я хочу загрузить Doc с Python, потому что я хочу продолжать работать с ним в своем ведомом устройстве.

Попробуйте это: stackoverflow.com/questions/38511444/…

EvilReboot 10.01.2023 18:20

@EvilReboot Я явно связал это в своем вопросе

Christian 10.01.2023 18:42
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Привет, люди RPA, это снова я и я несу подарки! В очередном моем приключении о том, как создавать ботов для облегчения рутины. Вот, думаю, стоит...
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
Учебник по веб-скрапингу
Учебник по веб-скрапингу
Привет, ребята... В этот раз мы поговорим о веб-скрейпинге. Целью этого обсуждения будет узнать и понять, что такое веб-скрейпинг, а также узнать, как...
Тонкая настройка GPT-3 с помощью Anaconda
Тонкая настройка GPT-3 с помощью Anaconda
Зарегистрируйте аккаунт Open ai, а затем получите ключ API ниже.
0
2
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Скачать документы Google Workspace

Есть две вещи, которые я хотел бы уточнить:

Важно отметить, что для загрузки документов Google Workspace вам необходимо экспортировать их в формат файлов, допускающий загрузку.

Drive API поддерживает OpenDocument. Пример моего кода для экспорта в .odt из идентификатора документа Google:

```
from __future__ import print_function

import os.path

from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from googleapiclient.http import MediaIoBaseDownload

SCOPES = ['https://www.googleapis.com/auth/drive']


def main():

    creds = None

    if os.path.exists('token.json'):
        creds = Credentials.from_authorized_user_file('token.json', SCOPES)

    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)

        with open('token.json', 'w') as token:
            token.write(creds.to_json())

    try:
        service = build('drive', 'v3', credentials=creds)

        file_id = "fileID_in_Google_Drive"

        data = service.files().export(fileId=file_id, mimeType = "application/vnd.oasis.opendocument.text").execute()
        if data:
            filename = 'your-file-name.odt'
            with open(filename, 'wb') as pdf_file:
                pdf_file.write(data)
   
    except HttpError as error:
        print(F'An error occurred: {error}')
        file = None



if __name__ == '__main__':
    main()

Вы можете изменить:

file_id = "ID_файла_в_Google_Диске"

С идентификатором документа Google, чтобы запустить тест и проверить его. Это позволило мне изменить и протестировать файл .odf. Редактирование типа MIME на application/vnd.oasis.opendocument.formula. Это вызовет ошибку:

Произошла ошибка: <HttpError 400 при запросе https://www.googleapis.com/drive/v3/files/fileID_in_Google_Drive/export?mimeType=application%2Fvnd.oasis.opendocument.formula возвращено «Запрашиваемое преобразование не поддерживается.». Подробности: "[{'домен': 'глобальный', 'причина': 'badRequest', 'сообщение': 'Запрашиваемое преобразование не поддерживается.', 'locationType': 'параметр', 'местоположение': 'convertTo' }]">

Подтверждаем, что Drive API V3 не поддерживает экспорт в .odf.

В качестве альтернативы вы можете задокументировать и запросить функцию для API, у вас должна быть возможность открыть средство отслеживания проблем:

Редактировать:

Импорт PIP:

  • pip install --upgrade google-api-python-client
  • pip install --upgrade google-auth-httplib2
  • pip install --upgrade google-auth-oauthlib

Рекомендации

Спасибо. На самом деле я имел в виду odt и как-то неправильно запомнил аббревиатуру, которую я соответствующим образом отредактировал.

Christian 10.01.2023 23:45

Можете ли вы добавить необходимый pip импорт?

Christian 11.01.2023 00:01

Они должны быть доступны здесь, и вы также можете выполнить следующие шаги: developer.google.com/drive/api/quickstart/python // Я бы тоже отредактировал.

Ricardo Jose Velasquez Cruz 11.01.2023 00:07

Другие вопросы по теме