Spaces:
Runtime error
Runtime error
| import os | |
| import pickle | |
| import datetime | |
| from google.oauth2.credentials import Credentials | |
| from google_auth_oauthlib.flow import InstalledAppFlow | |
| from google.auth.transport.requests import Request | |
| from googleapiclient.discovery import build | |
| SCOPES = ['https://www.googleapis.com/auth/calendar'] | |
| def get_calendar_service(): | |
| creds = None | |
| if os.path.exists('token.pickle'): | |
| with open('token.pickle', '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( | |
| 'credentials.json', SCOPES) | |
| creds = flow.run_local_server(port=0) | |
| with open('token.pickle', 'wb') as token: | |
| pickle.dump(creds, token) | |
| service = build('calendar', 'v3', credentials=creds) | |
| return service | |
| def add_event(summary, description, start_time, end_time): | |
| service = get_calendar_service() | |
| event = { | |
| 'summary': summary, | |
| 'description': description, | |
| 'start': { | |
| 'dateTime': start_time, | |
| 'timeZone': 'America/Bogota', | |
| }, | |
| 'end': { | |
| 'dateTime': end_time, | |
| 'timeZone': 'America/Bogota', | |
| }, | |
| } | |
| event = service.events().insert(calendarId='primary', body=event).execute() | |
| return event.get('htmlLink') | |