This package contains API wrappers to simplify interaction with Microsoft Graph API through Python functions.
Project description
msgraph-py
Description
This package contains API wrappers to simplify interaction with Microsoft Graph API through Python functions.
Some of the benefits of msgraph-py are:
- Automatic caching and renewal of access tokens, avoiding unnecessary API-calls.
- Sets the correct headers and parameters for you when required (advanced queries).
- Pages results automatically when retrieving large datasets.
- Useful logging and error messages with the Python logging module.
- Optional integration with Django settings.py for reading environment variables.
[!NOTE]
The latest published version of this package can be found at pypi.org/project/msgraph-py
List of available functions
msgraph.identity
get_user()
get_user_risk()
revoke_refresh_tokens()
list_auth_methods()
delete_auth_method()
reset_strong_auth()
get_signin()
msgraph.groups
get_group()
list_group_members()
add_group_member()
remove_group_member()
msgraph.devices
get_device()
delete_device()
msgraph.mail
send_mail()
Getting Started
-
Create an app registration in Azure AD with the necessary Graph application permissions for the functions you intend to use:
Authentication and authorization steps -
Install the latest version of the package:
$ python3 -m pip install msgraph-py
-
Configure environment variables:
-
If used within a Django project,
msgraph-py
will by default first attempt to load the following variables from the project'ssettings.py
:# project/settings.py AAD_TENANT_ID = "00000000-0000-0000-0000-000000000000" AAD_CLIENT_ID = "00000000-0000-0000-0000-000000000000" AAD_CLIENT_SECRET = "client-secret-value"
-
Alternatively you will need to set the following key-value pairs in
os.environ
:import os os.environ["AAD_TENANT_ID"] = "00000000-0000-0000-0000-000000000000" os.environ["AAD_CLIENT_ID"] = "00000000-0000-0000-0000-000000000000" os.environ["AAD_CLIENT_SECRET"] = "client-secret-value"
-
[!WARNING]
You should never store sensitive credentials or secrets in production code or commit them to your repository. Always load them at runtime from a secure location or from a local file excluded from the repository.
Examples
Get a single user by objectId or userPrincipalName
from msgraph import get_user
user = get_user("user@example.com")
Get a list of users using advanced query parameters
from msgraph import get_user
filtered_users = get_user(
filter="startsWith(department, 'sales')",
select=[
"displayName",
"department",
"createdDateTime",
],
orderby="createdDateTime desc",
all=True,
)
Send an e-mail with attachments
from msgraph import send_mail
send_mail(
sender_id="noreply@example.com",
recipients=[
"john.doe@example.com",
"jane.doe@example.com",
],
subject="Mail from Graph API",
body="<h1>Content of the mail body</h1>",
is_html=True,
priority="high",
attachments=[
"/path/to/file1.txt",
"/path/to/file2.txt",
],
)
References and documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for msgraph_py-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 864b0fc07a7098b538365041143f7c61e33d9e3a8d5b7bab84aa3bbc8446c985 |
|
MD5 | 42cc352f8e668059f87c97406ade3631 |
|
BLAKE2b-256 | 8dde5779ed4ce7bc950cc1b94acfea0fc47f10707b675765e67ef5d2b6f5072e |