@@ -33,35 +33,40 @@ def main():
3333 # The file token.json stores the user's access and refresh tokens, and is
3434 # created automatically when the authorization flow completes for the first
3535 # time.
36- if os .path .exists ('token.json' ):
37- creds = Credentials .from_authorized_user_file ('token.json' , SCOPES )
38- # If there are no (valid) credentials available, let the user log in.
39- if not creds or not creds .valid :
40- if creds and creds .expired and creds .refresh_token :
41- creds .refresh (Request ())
42- else :
43- flow = InstalledAppFlow .from_client_secrets_file (
44- 'credentials.json' , SCOPES )
45- creds = flow .run_local_server (port = 0 )
46- # Save the credentials for the next run
47- with open ('token.json' , 'w' ) as token :
48- token .write (creds .to_json ())
36+ try :
37+ if os .path .exists ('token.json' ):
38+ creds = Credentials .from_authorized_user_file ('token.json' , SCOPES )
39+ # If there are no (valid) credentials available, let the user log in.
40+ if not creds or not creds .valid :
41+ if creds and creds .expired and creds .refresh_token :
42+ creds .refresh (Request ())
43+ else :
44+ flow = InstalledAppFlow .from_client_secrets_file (
45+ 'credentials.json' , SCOPES )
46+ creds = flow .run_local_server (port = 0 )
47+ # Save the credentials for the next run
48+ with open ('token.json' , 'w' ) as token :
49+ token .write (creds .to_json ())
4950
50- service = build ('calendar' , 'v3' , credentials = creds )
51+ service = build ('calendar' , 'v3' , credentials = creds )
5152
52- # Call the Calendar API
53- now = datetime .datetime .utcnow ().isoformat () + 'Z' # 'Z' indicates UTC time
54- print ('Getting the upcoming 10 events' )
55- events_result = service .events ().list (calendarId = 'primary' , timeMin = now ,
56- maxResults = 10 , singleEvents = True ,
57- orderBy = 'startTime' ).execute ()
58- events = events_result .get ('items' , [])
53+ # Call the Calendar API
54+ now = datetime .datetime .utcnow ().isoformat () + 'Z' # 'Z' indicates UTC time
55+ print ('Getting the upcoming 10 events' )
56+ events_result = service .events ().list (calendarId = 'primary' , timeMin = now ,
57+ maxResults = 10 , singleEvents = True ,
58+ orderBy = 'startTime' ).execute ()
59+ events = events_result .get ('items' , [])
5960
60- if not events :
61- print ('No upcoming events found.' )
62- for event in events :
63- start = event ['start' ].get ('dateTime' , event ['start' ].get ('date' ))
64- print (start , event ['summary' ])
61+ # Prints the start and name of the next 10 events
62+ if not events :
63+ print ('No upcoming events found.' )
64+ for event in events :
65+ start = event ['start' ].get ('dateTime' , event ['start' ].get ('date' ))
66+ print (start , event ['summary' ])
67+
68+ except Exception as error :
69+ print ('An error occurred: %s' % error )
6570
6671
6772if __name__ == '__main__' :
0 commit comments