Я пытаюсь автоматически загружать файлы на диск Google с помощью скрипта Python, работающего удаленно с сервера (Ubuntu).
В моем коде у меня есть следующие простые строки из Pydrive:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
file = drive.CreateFile({"parents": [{"kind": "<directory_name>","id": "<directory_id>"}]})
file.SetContentFile('<file_name>')
file.Upload()
У меня есть файл settings.yaml в моем каталоге python, чтобы скрипт мог автоматически аутентифицироваться после первой ручной аутентификации, и файл client_secrets.json. Я в основном выполнил все шаги в https://pythonhosted.org/PyDrive/oauth.html. .
Однако, когда я активирую свой скрипт на удаленном сервере Ubuntu, я подключаюсь к странице Google в среде терминала, запрашивая мой адрес электронной почты и пароль. Когда я ввожу их, Google запрашивает вторую аутентификацию: либо посмотрите на изображение с кодом (и ничего не появляется на терминале), либо «послушайте и введите номер, который вы слышите». Когда я набираю эту команду, терминал отвечает «не найден», и я ничего не слышу (см. рисунок ниже).
Я застрял, и я не знаю, как обойти эту проблему. К сожалению, мне нужно аутентифицироваться хотя бы один раз, тогда скрипт будет аутентифицировать себя автоматически. Я действительно не вижу, как пропустить этот шаг.
Любая идея/комментарий/понимание будет принята с благодарностью
Большое спасибо Берти