ees_microsoft_teams/microsoft_teams_users.py (30 lines of code) (raw):

# # Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one # or more contributor license agreements. Licensed under the Elastic License 2.0; # you may not use this file except in compliance with the Elastic License 2.0. # """ This module is used to fetch all Microsoft Teams users. """ import json import requests from . import constant class MSTeamsUsers: """This class fetch Microsoft Teams users.""" def __init__(self, token, logger): self.access_token = token self.logger = logger def get_all_users(self): """ Fetches all Microsoft Teams users. Returns: user_details: List of dictionaries containing the user details. """ user_details = [] request_header = { "Authorization": f"Bearer {self.access_token}" } try: user_response = requests.get(f'{constant.GRAPH_BASE_URL}/users', headers=request_header) if user_response and user_response.status_code == requests.codes.ok: user_response_data = json.loads(user_response.text) for user in user_response_data["value"]: user_data = {} if user['mail']: user_data['mail'] = user['mail'] user_data["userId"] = user["id"] user_data["displayName"] = user["displayName"] user_data["mailAddress"] = user["userPrincipalName"] user_details.append(user_data) else: self.logger.error("Error while fetching users from Azure Platform") except Exception as exception: self.logger.exception(exception) raise exception return user_details