Licensing¶
Examples for working with Microsoft 365 licenses via Graph API — SKU inventory, license assignment, service plan management, and usage reports.
Prerequisites¶
| Permission | Description | Reference |
|---|---|---|
User.Read.All |
Read users and their license assignments | User permissions |
Organization.Read.All |
Read subscribed SKUs | Organization permissions |
User.ReadWrite.All |
Assign and remove licenses | User permissions |
Patterns¶
| Scenario | File |
|---|---|
| License inventory and unlicensed user report | report.py |
| License assignment and SKU switch | assign.py |
| Bulk assign licenses from CSV | bulk_assign_license.py |
| Disable a service plan within a license | modify_service_plans.py |
| Remove a license from a user | remove.py |
| Find all users with a specific SKU | find_licensed.py |
| Full license usage report | usage_report.py |
| Get the current user's license details | get_licenses.py |
| Check a required SKU is present (require_license) | check_license.py |
Quick start¶
from office365.graph_client import GraphClient
client = GraphClient(tenant="contoso.onmicrosoft.com").with_client_secret(
"client_id", "client_secret"
)
skus = client.subscribed_skus.get().execute_query()
for s in skus:
print(f"{s.sku_part_number}")