|
|
| import os, pickle |
| from google_auth_oauthlib.flow import InstalledAppFlow |
| from google.auth.transport.requests import Request |
|
|
| SCOPES = [ |
| 'https://www.googleapis.com/auth/calendar', |
| 'https://www.googleapis.com/auth/gmail.readonly', |
| 'https://www.googleapis.com/auth/gmail.send' |
| ] |
|
|
| def authenticate_google_services(): |
| os.system(f"gdown https://drive.google.com/uc?id=1EVsYlH4LRx4fDcllwfyijJYv6rexUTzR -O client_secret.json") |
| creds = None |
| if os.path.exists('token.pkl'): |
| with open('token.pkl', 'rb') as token: |
| creds = pickle.load(token) |
| 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('client_secret.json', SCOPES) |
| creds = flow.run_console() |
| with open('token.pkl', 'wb') as token: |
| pickle.dump(creds, token) |
| return creds |
|
|