44# <ProgramSnippet>
55import asyncio
66import configparser
7+ from msgraph .generated .models .o_data_errors .o_data_error import ODataError
78from graph import Graph
89
910async def main ():
@@ -33,24 +34,29 @@ async def main():
3334 except ValueError :
3435 choice = - 1
3536
36- if choice == 0 :
37- print ('Goodbye...' )
38- elif choice == 1 :
39- await display_access_token (graph )
40- elif choice == 2 :
41- await list_inbox (graph )
42- elif choice == 3 :
43- await send_mail (graph )
44- elif choice == 4 :
45- await make_graph_call (graph )
46- else :
47- print ('Invalid choice!\n ' )
37+ try :
38+ if choice == 0 :
39+ print ('Goodbye...' )
40+ elif choice == 1 :
41+ await display_access_token (graph )
42+ elif choice == 2 :
43+ await list_inbox (graph )
44+ elif choice == 3 :
45+ await send_mail (graph )
46+ elif choice == 4 :
47+ await make_graph_call (graph )
48+ else :
49+ print ('Invalid choice!\n ' )
50+ except ODataError as odata_error :
51+ print ('Error:' )
52+ if odata_error .error :
53+ print (odata_error .error .code , odata_error .error .message )
4854# </ProgramSnippet>
4955
5056# <GreetUserSnippet>
5157async def greet_user (graph : Graph ):
5258 user = await graph .get_user ()
53- if user is not None :
59+ if user :
5460 print ('Hello,' , user .display_name )
5561 # For Work/school accounts, email is in mail property
5662 # Personal accounts, email is in userPrincipalName
@@ -66,13 +72,13 @@ async def display_access_token(graph: Graph):
6672# <ListInboxSnippet>
6773async def list_inbox (graph : Graph ):
6874 message_page = await graph .get_inbox ()
69- if message_page is not None and message_page .value is not None :
75+ if message_page and message_page .value :
7076 # Output each message's details
7177 for message in message_page .value :
7278 print ('Message:' , message .subject )
7379 if (
74- message .from_ is not None and
75- message .from_ .email_address is not None
80+ message .from_ and
81+ message .from_ .email_address
7682 ):
7783 print (' From:' , message .from_ .email_address .name or 'NONE' )
7884 else :
@@ -90,7 +96,7 @@ async def send_mail(graph: Graph):
9096 # Send mail to the signed-in user
9197 # Get the user for their email address
9298 user = await graph .get_user ()
93- if user is not None :
99+ if user :
94100 user_email = user .mail or user .user_principal_name
95101
96102 await graph .send_mail ('Testing Microsoft Graph' , 'Hello world!' , user_email or '' )
0 commit comments