importargparsefromoffice365.graph_clientimportGraphClientfromtests.settingsimportclient_id,client_secret,tenantdefmain():parser=argparse.ArgumentParser(description="List Azure AD sign-in logs")parser.add_argument("--top",type=int,default=10,help="number of records to fetch")args=parser.parse_args()client=GraphClient(tenant=tenant).with_client_secret(client_id,client_secret)signins=client.audit_logs.signins.top(args.top).get().execute_query()forsignininsignins:status=signin.statuserror_code=status.errorCodeifstatuselseNonefailure_reason=status.failureReasonifstatuselseNoneprint(f"{signin.created_datetime}: {signin.user_display_name} "f"(errorCode={error_code}, failureReason={failure_reason})")if__name__=="__main__":main()