Skip to main content

Microsoft Graph convenience library

Project description

wmgraph Microsoft Graph convenience library

This library aids with the Microsoft graph API for Office 365 business. It uses certificates for the OAuth 2.0 client credentials flow to authenticate a daemon application registered in Azure AD. This makes it suitable to be used in console applications.

Configuration

as described in A simple Python daemon console application calling Microsoft Graph with its own identity, client certificate variation

  • Register an application in Azure AD
  • Prepare a config.json and certificates for a MS Application
  • Upload the server.crt to AAD

see Client Credentials for AzureAD msal

Create Certificates:

#!/bin/sh
openssl genrsa -out server.pem 2048
openssl req -new -key server.pem -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt
openssl x509 -noout -fingerprint -sha1 -inform pem -in server.crt |sed -e 's=:==g' > server.fpr

config.json:

{
    "authority": "https://login.microsoftonline.com/TENANT_ID",
    "client_id": "CLIENT_ID",
    "scope": [ "https://graph.microsoft.com/.default" ],
    "thumbprint": "SRERVER.CRT.FINGERPRINT",
    "private_key_file": "PATH_TO_CERTS(can be relative)/server.pem",
    "endpoint": "https://graph.microsoft.com/v1.0"
}

Usage

import

from wmgraph.api import MgraphApi
from wmgraph.api.exceptions import MgraphApiError

connect

api = MgraphApi(params='./config.json')

use

userdata = api.get_user(args.user_id)

or

for user in api.list_users():
    print(user)`

Development requirements

twine wheel

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wmgraph-0.7.1.tar.gz (9.6 kB view hashes)

Uploaded Source

Built Distribution

wmgraph-0.7.1-py3-none-any.whl (12.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page