在 Google Colab 笔记本中,我正在运行一段代码,这需要几个小时才能完成,最后一个文件将上传到我的 Google 驱动器。
问题是有时我的凭据会在代码上传文件之前过期。我环顾四周,可能发现了一些可以刷新我的凭据的代码,但我不是 100% 熟悉 Pydrive 的工作原理以及这段代码到底在做什么。
这是到目前为止我用来设置我的笔记本以访问我的 Google Drive 的代码。
!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() 和 Refresh Token Issues)
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()
条线会阻止我的凭据过期?