他の人と同じように、ファイルをコピーして名前を変更するスケジュールされたタスクを実行するために、Google の更新トークンを機能させようとしています。
端末内で最初に手動で認証するとき、私の URL は &access_type=offline で終わります。ただし、ipython で手動で gauth.Refresh() を使用しようとすると、資格情報ファイルの有効期限が切れたときと同じエラーで失敗します。
pydrive.auth.RefreshError: No refresh_token found.Please set access_type of OAuth to offline.
実際に access_type をオフラインに設定するにはどうすればよいですか? どんな提案でも大歓迎です。
私はここ、ここ、そしてここにいて、これをトラブルシューティングしようとしています。
私のスクリプト:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
# Try to load saved client credentials
gauth.LoadCredentialsFile("GoogleDriveCredentials.txt")
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")
drive = GoogleDrive(gauth)
私の settings.yaml ファイル:
client_config_backend: settings
client_config:
client_id: ###actual client_id###
client_secret: ###actual client_secret###
save_credentials: True
save_credentials_backend: file
save_credentials_file: credentials.json
get_refresh_token: True
oauth_scope:
- https://www.googleapis.com/auth/drive