この記事では、PythonとMicrosoft Graph APIを使用してAzure ADのデータを取得する方法について説明します。
Microsoft Graph APIとは
Microsoft Graph APIは、MicrosoftのサービスであるOffice 365やAzure ADなど、様々なサービスのデータをグラフ形式で扱えるエンドポイントです。単一のREST APIエンドポイントでMicrosoftの各サービスのデータを取得・処理でき、認証も一括で管理できるため非常に使いやすいと感じました。
PythonからMicrosoft Graph APIを利用する
PythonからMicrosoft Graph APIを利用するためには、MSAL (Microsoft Authentication Library) を利用します。MSALを利用することで、Pythonからアクセスする際の認証トークンを取得することができます。
実践: PythonからAPIを叩く
以下に、PythonからMicrosoft Graph APIを叩くための基本的なコードを示します。
import json
import requests
import msal
# Graph API configuration
graph_url = 'https://graph.microsoft.com'
tenant_id = 'YOUR_TENANT_ID'
client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_CLIENT_SECRET'
def msgraph_auth():
authority = 'https://login.microsoftonline.com/' + tenant_id
scope = ['https://graph.microsoft.com/.default']
app = msal.ConfidentialClientApplication(client_id, authority=authority, client_credential=client_secret)
result = app.acquire_token_silent(scope, account=None)
if not result:
result = app.acquire_token_for_client(scopes=scope)
return result['access_token']
このコードは、Azure ADのテナントID、クライアントID、クライアントシークレットを使用して、Microsoft Graph APIからアクセストークンを取得します。取得したアクセストークンは、その後のAPIリクエストで使用します。
以上が、PythonとMicrosoft Graph APIを使用してAzure ADのデータを取得する基本的な方法です。これを応用することで、様々なMicrosoftサービスのデータを取得・操作することが可能になります。