Microsoft Graph API: Developer Integration Guide 2025
Condividi
Introduzione: Un API per Tutte le Cose Microsoft
Nel 2025, Microsoft Graph è lo standard unificato per accedere a TUTTI i dati Microsoft 365: email, calendar, contacts, files, groups, users, devices. Invece di 10 API diverse, usi UNO. REST semplice, security forte, documentazione eccellente.
Cos'è Microsoft Graph?
Microsoft Graph è un unified REST API endpoint che ti permette leggere e scrivere dati da Microsoft 365. Un singolo endpoint ti da accesso a email, calendar, contacts, files, groups, sites, teams, devices, security alerts—tutto.
Che Dati Puoi Accedere con Graph?
| Categoria | Dati Accessibili | Uso Comune |
|---|---|---|
| Email, mailbox folder, send mail | Integrazione CRM: leggi email automaticamente | |
| Calendar | Events, availability, booking | App booking: verifica disponibilità |
| Contacts | People directory, contact details | Sincronizza contatti con app terza |
| OneDrive/SharePoint | Files, folders, permissions | Backup app: scarica file automaticamente |
| Teams | Channels, messages, files | Chatbot che legge messaggi Teams |
| Users/Groups | User directory, group membership | Sync Active Directory con app custom |
| Security | Alert, incident, threat data | SIEM: invia alert di sicurezza a SOC |
Casi d'Uso Reali di Graph API
📧 Caso 1: CRM Integration - Leggi Email Automaticamente
Scenario: Quando cliente manda email a sales@azienda.it, app automaticamente legge email via Graph API e crea lead nel CRM.
Codice (Pseudo):
Response: [ email1, email2, email3 ]
Loop: Per ogni email, estrai sender + subject → POST al CRM
Beneficio: Nessun data entry manuale. Leads creati in tempo reale.
📅 Caso 2: Booking App - Verifica Disponibilità Calendar
Scenario: App booking esterno (es: PrenotaMe) accede calendar Teams/Outlook per trovare slot liberi.
Codice (Pseudo):
Response: [ evento1, evento2 ]
Logica: Trova slot 30min liberi → Mostra in booking app
Beneficio: Clienti prenota slot automaticamente senza email back-and-forth.
👥 Caso 3: Sync Active Directory - Sincronizza Utenti
Scenario: App custom legge utenti da Azure AD (via Graph) e sincronizza a database interno.
Codice (Pseudo):
Response: [ user1, user2, user3 ]
Loop: INSERT INTO app_database (azure_id, name, email)
Beneficio: Utenti app sempre sincronizzati con Azure AD. No stale data.
Come Iniziare con Graph API: 6 Step
-
Registra app in Azure AD Portal
- Vai portal.azure.com → App Registrations
- Crea "New registration"
- Nome: "My Custom App"
-
Ottieni Credentials
- Copy Client ID (application ID)
- Create Client Secret (password)
- Salva in file sicuro (no GitHub!)
-
Richiedi Permessi API
- Vai "API Permissions"
- Aggiungi "Mail.Read", "Calendar.Read", etc.
- Admin must consent (richiedi IT admin approvazione)
-
Autentica (OAuth2)
- Usa credentials per ottenere token di accesso
- Token valido 1 ora (poi refresh)
-
Fai REST Calls
- GET https://graph.microsoft.com/v1.0/me/messages (leggi email)
- POST ... (crea nuovo evento)
-
Testa e Pubblica
- Test in development environment
- Pubblica in production
Linguaggi Supportati per Graph API
- JavaScript/Node.js: npm install @microsoft/microsoft-graph-client
- Python: pip install msgraph-core
- C#/.NET: NuGet package Microsoft.Graph
- Java: Maven dependency com.microsoft.graph:microsoft-graph
- REST Raw: Curl, Postman (no SDK needed)
Best Practices Graph API
- ✓ Mai commit credentials in code. Usa environment variables o KeyVault
- ✓ Implementa error handling: token expired, rate limiting, permissi insufficienti
- ✓ Usa pagination: Graph restituisce max 100 items. Implementa loop per più pagine
- ✓ Cache data quando possibile: evita chiamate ripetute same resource
- ✓ Monitora rate limiting: Microsoft limita 2.000 requests/minuto. Implementa backoff
- ✓ Log API calls per debugging
- ✓ Test permissions: verifica app ha permessi corretti prima di deployment
Costi e Limitazioni
- Costo: Gratis! Microsoft Graph è free per tutti M365 subscriber
- Rate Limiting: 2.000 requests/minuto per app
- Permessi: App può accedere solo quello che admin approva
- SDK Versioning: API v1.0 stabile, /beta per features nuove (ma unstable)
Domande Frequenti (FAQ)
Non direttamente (CORS issues). Devi passare da server backend. Ma Microsoft ha SDK browser (MSAL) per auth, poi backend chiama Graph.
Sì, perché Graph usa OAuth token, non password. Token refresh automatico, app continua.
Graph API = accedi dati M365 da qualsiasi app/server. Office SDK = accedi da dentro Word/Excel/Outlook add-in. Use cases diversi.
Sì! Offriamo custom app development, Graph API integration, training team. Contattaci.
Conclusione: Graph API è il Future di M365 Integration
Nel 2025, Microsoft Graph è lo standard unificato per accedere Microsoft 365. Se devi integrare M365 con app terza, CRM, o creare automazioni custom, Graph è la risposta. Costo zero, documentazione eccellente, scalabilità illimitata. Contatta mslicenze.it per consulenza Graph API.