В блокноте Google Colab я запускаю блок кода, выполнение которого займет несколько часов, а в конце файл будет загружен на мой диск Google.
Проблема в том, что иногда срок действия моих учетных данных истекает до того, как код сможет загрузить файл. Я осмотрелся и, возможно, нашел какой-то код, который, возможно, может обновить мои учетные данные, но я не на 100% знаком с тем, как работает Pydrive и что именно делает этот код.
Вот код, который я использую до сих пор, чтобы настроить свой ноутбук для доступа к моему Google Диску.
!pip install -U -q PyDrive
from google.colab import files
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
И этот код я использую для загрузки файла
uploadModel = drive.CreateFile()
uploadModel.SetContentFile('filename.file')
uploadModel.Upload()
Это код, который я нашел, который может решить мою проблему (найден здесь PyDrive guath.Refresh () и Проблемы с токеном обновления)
if gauth.credentials is None:
# Authenticate if they're not there
gauth.LocalWebserverAuth()
elif gauth.access_token_expired:
# Refresh them if expired
print "Google Drive Token Expired, Refreshing"
gauth.Refresh()
else:
# Initialize the saved creds
gauth.Authorize()
# Save the current credentials to a file
gauth.SaveCredentialsFile("GoogleDriveCredentials.txt")
Итак, я предполагаю, что строка gauth.Refresh()
предотвращает истечение срока действия моих учетных данных?