in ees_microsoft_outlook/office365_user.py [0:0]
def get_users(self):
"""Fetch users from Azure Active Directory
Returns:
user_request: Status of user endpoint
users_mails: Fetched response from Azure Active Directory
"""
warnings.filterwarnings("ignore")
try:
scope = API_SCOPE
# Logic to generate access token
try:
token_request = requests.post(
f"{MICROSOFTONLINE_URL}/{self.tenant_id}/oauth2/v2.0/token",
data={
"grant_type": "client_credentials",
"client_id": self.client_id,
"client_secret": self.secret_value,
"scope": scope,
},
verify=False,
)
token_response = json.loads(token_request.text)
access_token = token_response["access_token"]
except requests.exceptions.HTTPError as http_error:
raise requests.exceptions.HTTPError(f"Http Error. Error: {http_error}")
except requests.exceptions.ConnectionError as connection_error:
raise requests.exceptions.ConnectionError(
f"Error Connecting. Error: {connection_error}"
)
except requests.exceptions.Timeout as timeout_error:
raise requests.exceptions.Timeout(
f"Timeout Error. Error: {timeout_error}"
)
except requests.exceptions.RequestException as request_error:
raise requests.exceptions.RequestException(f"Error: {request_error}")
# Logic to fetch users
try:
user_request = requests.get(
GRAPH_BASE_URL + "/users",
headers={"Authorization": f"Bearer {access_token}"},
verify=False,
)
user_res = json.loads(user_request.text)
user_res_value = user_res["value"]
except requests.exceptions.HTTPError as http_error:
raise requests.exceptions.HTTPError(f"Http Error. Error: {http_error}")
except requests.exceptions.ConnectionError as connection_error:
raise requests.exceptions.ConnectionError(
f"Error Connecting. Error: {connection_error}"
)
except requests.exceptions.Timeout as timeout_error:
raise requests.exceptions.Timeout(
f"Timeout Error. Error: {timeout_error}"
)
except requests.exceptions.RequestException as request_error:
raise requests.exceptions.RequestException(f"Error: {request_error}")
users_mails = []
for user_mail in user_res_value:
users_mails.append(user_mail["mail"])
return users_mails
except Exception as exception:
raise Exception(
f"Error while fetching users from Azure Active Directory. Error: {exception}"
)