La guida completa alla gestione delle sottoscrizioni webhook di Microsoft Graph
By Mirko Peters ·
Benvenuto nella nostra guida completa per padroneggiare le sottoscrizioni webhook di Microsoft Graph! Se stai creando applicazioni moderne basate sugli eventi all'interno dell'ecosistema Microsoft 365, tenere sotto controllo le modifiche ai dati senza esaurire le risorse di sistema è fondamentale. Non perdere più nessuna notifica importante imparando a gestire il ciclo di vita delle tue sottoscriz
Automatically translated with AI from the original post. Read the English original
Benvenuto nella nostra guida completa per padroneggiare le sottoscrizioni webhook di Microsoft Graph! Se stai creando applicazioni moderne basate sugli eventi all'interno dell'ecosistema Microsoft 365, tenere sotto controllo le modifiche ai dati senza esaurire le risorse di sistema è fondamentale. Non perdere più nessuna notifica importante imparando a gestire il ciclo di vita delle tue sottoscrizioni webhook. In questa guida esploreremo strategie proattive per gestire le date di scadenza, affrontare le sfide della riautorizzazione ed eseguire processi di rinnovo senza interruzioni. Che tu sia amministratore, architetto o sviluppatore, comprendere questi concetti migliorerà le tue decisioni tecniche e il valore operativo che offri.
Per approfondire i concetti di base, non perdere il nostro episodio del podcast correlato, Microsoft Graph Webhooks - Simply Explained, in cui analizziamo nel dettaglio questi meccanismi.
Cosa sono i webhook di Microsoft Graph?
Definizione e scopo
I webhook di Microsoft Graph sono un meccanismo che consente alle tue applicazioni di ricevere notifiche in tempo reale sulle modifiche alle risorse di Microsoft Graph. Servono principalmente a diversi scopi nello sviluppo applicativo:
- I webhook notificano alle applicazioni le modifiche ai dati, ad esempio quando un'entità viene creata, aggiornata o eliminata.
- Eliminano la necessità di eseguire il polling, inviando le notifiche direttamente a un endpoint designato.
- In questo modo le tue applicazioni restano sincronizzate con i dati di Microsoft Graph.
Usando i webhook puoi semplificare il modo in cui le tue applicazioni interagiscono con Microsoft Graph. Invece di controllare continuamente la presenza di aggiornamenti, l'applicazione può concentrarsi sull'elaborazione delle notifiche che riceve.
Importanza nello sviluppo
L'importanza di usare i webhook rispetto ai tradizionali metodi di polling non può essere sottovalutata. Ecco alcuni dei vantaggi principali:
| Vantaggio | Descrizione |
|---|---|
| Efficienza | I webhook eliminano la necessità di un polling costante, consentendo una gestione dei dati più efficiente. |
| Immediatezza | I dati vengono consegnati istantaneamente, garantendo accesso in tempo reale agli aggiornamenti senza ritardi. |
| Minor carico sui server | Riducendo il numero di chiamate API, i webhook contribuiscono a ridurre il consumo di risorse dei server. |
| Convenienza economica | Un minor numero di chiamate API comporta costi di utilizzo delle API più bassi. |
Le organizzazioni che implementano i webhook riferiscono spesso miglioramenti significativi nei processi di sincronizzazione dei dati. Ad esempio, registrano una riduzione fino al 60% del sovraccarico dovuto al polling API, che migliora la sincronizzazione dei dati in tempo reale.
I webhook consentono anche di attivare azioni immediate, ad esempio:
- Isolare automaticamente gli endpoint compromessi
- Creare ticket quando scattano gli avvisi
- Aggiornare le dashboard in tempo reale
- Notificare agli amministratori i guasti di sistema
Questo modello basato sugli eventi è particolarmente vantaggioso per i sistemi che gestiscono numerose integrazioni. Riduce i processi in background non necessari, consentendo alle applicazioni di scalare in modo efficiente.
Come funzionano le sottoscrizioni webhook
Panoramica delle notifiche di modifica
Quando configuri una sottoscrizione webhook, la tua applicazione può ricevere notifiche sulle modifiche alle risorse di Microsoft Graph. Queste notifiche ti informano quando si verificano eventi specifici, come aggiornamenti agli account utente o modifiche ai documenti. I tipi di notifiche di modifica che i webhook di Microsoft Graph possono inviare includono:
- Stampante di stampa cloud
- Evento di Outlook
- Elenco di SharePoint
- Chat di Teams
- Utente
- E molti altri...
Questa varietà ti permette di adattare la tua applicazione per rispondere alle modifiche più rilevanti. Le notifiche arrivano come richieste HTTP POST inviate al tuo endpoint designato, garantendo che la tua applicazione resti aggiornata in tempo reale.
La latenza media di queste notifiche varia in base alla risorsa. Ad esempio, le notifiche per gli eventi del calendario arrivano in genere in meno di un minuto, mentre i messaggi di chat possono essere consegnati in meno di dieci secondi. Ecco un riepilogo della latenza media e massima per le varie risorse:
| Risorsa | Latenza media | Latenza massima |
|---|---|---|
| Calendario | Meno di 1 minuto | 3 minuti |
| Messaggio di chat | Meno di 10 secondi | 1 minuto |
| Elemento di unità | Meno di 1 minuto | 60 minuti |
| Evento di Outlook | Sconosciuta | Sconosciuta |

Creazione di una sottoscrizione
Per iniziare a ricevere notifiche, devi creare una sottoscrizione. Segui questi passaggi per configurare la sottoscrizione webhook per il monitoraggio delle risorse di Microsoft Graph:
- Registra l'applicazione in Microsoft Entra ID: inizia creando una registrazione dell'app con le autorizzazioni necessarie per la tua sottoscrizione.
- Crea l'argomento di Event Grid: configura un argomento personalizzato di Event Grid per ricevere le notifiche da Microsoft Graph.
- Crea la funzione ricevitore webhook: questa funzione gestisce le notifiche dell'API Graph e le inoltra al tuo Event Grid.
Completando questi passaggi stabilisci una connessione che consente alla tua applicazione di ricevere in tempo reale le notifiche sulle modifiche. Questa configurazione migliora la reattività dell'applicazione e ne garantisce la sincronizzazione con i dati di Microsoft Graph.
Con le sottoscrizioni webhook puoi gestire in modo efficiente l'interazione della tua applicazione con Microsoft Graph. Non devi più affidarti a un polling costante, che spreca risorse e rallenta l'applicazione. Puoi invece concentrarti sull'elaborazione delle notifiche ricevute, ottenendo un'applicazione più efficiente ed efficace.
Gestione delle sottoscrizioni
Ciclo di vita delle sottoscrizioni
Gestire il ciclo di vita delle sottoscrizioni webhook è fondamentale per mantenere notifiche affidabili. Quando crei una sottoscrizione, questa attraversa diverse fasi:
- Creazione: avvii la sottoscrizione specificando la risorsa e l'URL di notifica.
- Stato attivo: la sottoscrizione resta attiva fino alla data di scadenza.
- Scadenza: Microsoft Graph richiede di rinnovare la sottoscrizione prima della scadenza. Se non la rinnovi, la sottoscrizione diventa inattiva.
- Riautorizzazione: se ricevi una notifica di richiesta di autorizzazione, devi rispondere tempestivamente. Questa notifica arriva al tuo lifecycleNotificationUrl. Devi convalidarne l'autenticità e assicurarti di disporre di un token di accesso valido. Se l'app non è più autorizzata, il rinnovo della sottoscrizione potrebbe non riuscire e sarà necessario ottenere un nuovo token di accesso.
Gestire efficacemente queste fasi ti aiuta a evitare notifiche perse. Devi inoltre gestire le notifiche subscriptionRemoved: confermane la ricezione e convalidane l'autenticità. Se necessario, crea una nuova sottoscrizione per continuare a ricevere le notifiche.
Rinnovo delle sottoscrizioni
Per mantenere le notifiche senza interruzioni, devi rinnovare in anticipo le sottoscrizioni webhook. Ecco alcune procedure consigliate per il rinnovo:
- Convalida lo stato del client dell'evento.
- Assicurati che l'app disponga di un token di accesso valido.
- Chiama l'API appropriata per rinnovare o riautorizzare la sottoscrizione.
Segui questi passaggi per rinnovare la sottoscrizione:
- Invia una richiesta di aggiornamento per estendere la data di scadenza prima che la sottoscrizione corrente scada.
- Usa le notifiche del ciclo di vita per ricevere avvisi sulle scadenze imminenti.
- Alla ricezione di un evento
microsoft.graph.subscriptionReauthorizationRequired, convalida lo stato del client e assicurati che sia disponibile un token di accesso valido. - Chiama l'azione
/reauthorizeper riautorizzare senza estendere la data di scadenza, oppure usa il metodoPATCHper rinnovare e riautorizzare contemporaneamente.
La corretta gestione del ciclo di vita delle sottoscrizioni è fondamentale. Consente alle applicazioni di mantenere un funzionamento ininterrotto, rinnovando le sottoscrizioni in anticipo rispetto alla scadenza. Seguendo queste linee guida puoi elaborare efficacemente le notifiche webhook e mantenere le applicazioni reattive ai cambiamenti.
Query delta e il loro ruolo
Come funzionano le query delta
Le query delta sono una funzionalità potente di Microsoft Graph che consente di tenere traccia delle modifiche alle risorse in modo efficiente. Permettono all'applicazione di individuare entità nuove, aggiornate o eliminate senza leggere ogni volta l'intera risorsa. Questo meccanismo semplifica il processo di sincronizzazione e riduce i dati elaborati, con aggiornamenti più rapidi. Ecco come funzionano le query delta:
- Esegui una richiesta GET con la funzione delta sulla risorsa desiderata. Ad esempio,
GET https://graph.microsoft.com/v1.0/users/delta. - Microsoft Graph restituisce la risorsa richiesta e un token di stato.
- Quando vuoi conoscere le modifiche, usa l'URL
@odata.deltaLinkricevuto nel passaggio precedente per effettuare le richieste. - Microsoft Graph restituisce una risposta che descrive le modifiche intervenute dall'ultima richiesta, insieme a un
@odata.nextLinkoppure a un@odata.deltaLink.
Questo processo consente di mantenere l'integrità dei dati riducendo al minimo le risorse necessarie per la sincronizzazione dei dati.
Casi d'uso delle query delta
Le query delta hanno diverse applicazioni pratiche negli ambienti aziendali. Ecco alcuni casi d'uso comuni:
| Caso d'uso | Descrizione |
|---|---|
| Gestione dei dati | Le query delta semplificano la gestione dei dati e supportano operazioni come inserimento, aggiornamento ed eliminazione. |
| Controllo delle versioni | Consentono agli utenti di accedere a versioni precedenti dei dati o di ripristinarle, per audit e rollback. |
| Condivisione dei dati | Le query delta consentono una condivisione sicura dei dati tra organizzazioni, garantendone la coerenza. |
Questi casi d'uso evidenziano la versatilità delle query delta in diversi scenari. Migliorano l'efficienza dei processi di sincronizzazione dei dati, consentendo alla tua applicazione di monitorare le modifiche senza un sovraccarico inutile. Questo metodo restituisce esclusivamente le modifiche apportate dall'ultima richiesta, il che lo rende ideale per le applicazioni che devono monitorare le modifiche alle risorse di Microsoft Graph.
Sfruttando le query delta, puoi fare in modo che le tue applicazioni restino reattive e aggiornate con le informazioni più recenti. Questa funzionalità è essenziale per mantenere un'esperienza utente fluida nelle applicazioni che si basano su dati in tempo reale.
Combinare webhook e query delta
Vantaggi dell'integrazione
L'integrazione dei webhook di Microsoft Graph con le query delta offre diversi vantaggi che migliorano le prestazioni della tua applicazione. Ecco alcuni dei principali vantaggi:
| Funzionalità | Vantaggio |
|---|---|
| Webhook | Notificano alle applicazioni le modifiche, consentendo aggiornamenti in tempo reale. |
| Query delta | Consentono il recupero incrementale dei dati, riducendo il recupero di dati non necessari. |
Combinando queste due potenti funzionalità, puoi fare in modo che la tua applicazione resti reattiva ed efficiente. I webhook inviano notifiche immediate sulle modifiche dei dati, eliminando la necessità di un polling costante. Le query delta, invece, consentono di recuperare solo gli aggiornamenti dall'ultima sincronizzazione. Questa combinazione garantisce che vengano elaborati solo i dati pertinenti e nuovi, ottimizzando le prestazioni di rete e riducendo i trasferimenti di dati non necessari.
Inoltre, l'uso delle query delta contribuisce a garantire che nessuna modifica venga persa, soprattutto se le notifiche subiscono ritardi. Questa integrazione consente di mantenere un'esperienza utente fluida riducendo al minimo il consumo di risorse.
Strategie di implementazione
Per implementare efficacemente la combinazione di webhook e query delta, valuta le seguenti strategie:
- Ottimizzare il traffico di rete: usa il JSON batching per combinare più richieste in una sola. Questo riduce la latenza e migliora le prestazioni complessive.
- Utilizzare le query delta: recupera solo le modifiche dall'ultima sincronizzazione anziché l'intero set di dati. Questo approccio riduce il trasferimento di dati e accelera la sincronizzazione.
- Implementare i webhook per le notifiche in tempo reale: consenti alla tua applicazione di rispondere immediatamente alle modifiche senza polling costante. Così la tua applicazione resta sempre aggiornata con le informazioni più recenti.
Quando integri queste funzionalità, tieni presenti i potenziali rischi. Le notifiche possono andare perse, con effetti sull'affidabilità. Le sottoscrizioni possono scadere, causando il mancato recepimento di aggiornamenti. Inoltre, se l'endpoint non è disponibile, possono verificarsi interruzioni. Tuttavia, le query delta restano affidabili perché possono essere eseguite in qualsiasi momento. Forniscono un elenco completo delle modifiche dall'ultimo controllo, consentendo di recuperare le notifiche perse.
Seguendo queste strategie, puoi creare un sistema solido che sfrutta i punti di forza sia dei webhook sia delle query delta. Questa combinazione migliorerà la reattività e l'efficienza della tua applicazione, rendendola più adatta a soddisfare le esigenze degli utenti.
Procedure consigliate per i webhook di Microsoft Graph
Considerazioni sulla sicurezza
Quando utilizzi i webhook di Microsoft Graph, la sicurezza deve essere una priorità assoluta. Implementare le misure giuste aiuta a proteggere la tua applicazione e i suoi dati. Ecco alcune azioni essenziali da intraprendere:
- Usa la crittografia HTTPS per proteggere i dati sensibili.
- Verifica le richieste in arrivo con una firma e una chiave segreta condivisa.
- Proteggi gli URL di callback con percorsi complessi e un elenco di IP consentiti (IP whitelisting).
- Includi i token di autenticazione nelle intestazioni delle richieste.
Il monitoraggio dei webhook è fondamentale. Registra metriche chiave come percentuali di consegna riuscita, tempi di risposta e errori di autenticazione. Questa pratica ti aiuta a individuare problemi come callback non validi o notifiche perse, garantendo che il sistema di notifiche resti affidabile.
Per rafforzare ulteriormente la sicurezza, valuta questi metodi di verifica per le notifiche webhook:
| Metodo | Descrizione |
|---|---|
| Firma HMAC | Viene aggiunta un'intestazione di firma, generata codificando il payload JSON con il client secret tramite l'algoritmo sha256. |
| Connessione HTTPS | La comunicazione sicura è garantita tramite HTTPS, che impedisce l'accesso non autorizzato. |
| Developer Payload | Nel campo developerPayload viene impostata una stringa univoca per verificare le richieste. |
Ottimizzazione delle prestazioni
Ottimizzare le prestazioni delle tue sottoscrizioni webhook è fondamentale per mantenere un'applicazione reattiva. Ecco alcune tecniche per migliorare le prestazioni:
- Gestione delle sottoscrizioni: controlla regolarmente lo stato delle tue sottoscrizioni. Esegui un controllo dello stato ogni 12 ore per verificarne la condizione. Rinnova le sottoscrizioni 24 ore prima della scadenza per evitare interruzioni del servizio.
- Gestione efficiente dei dati: usa le query delta per tenere traccia delle modifiche in modo efficiente. Le query delta ti consentono di ricevere notifiche sulle modifiche senza dover recuperare l'intero set di dati. Questo metodo riduce il trasferimento di dati e accelera la sincronizzazione.
- Elaborazione in batch: se la tua applicazione deve gestire più notifiche, valuta l'uso del batching JSON. Questa tecnica consente di combinare più richieste in una sola, riducendo la latenza e migliorando le prestazioni complessive.
- Gestione degli errori: implementa una gestione degli errori robusta per le notifiche webhook. In caso di problemi, registrali e configura avvisi per informare il tuo team. Questo approccio proattivo ti aiuta a risolvere i problemi prima che abbiano un impatto sugli utenti.
Seguendo queste buone pratiche, puoi fare in modo che i tuoi Microsoft Graph Webhooks funzionino in modo sicuro ed efficiente. Questo migliorerà la reattività della tua applicazione e offrirà un'esperienza migliore agli utenti.
In sintesi, i Microsoft Graph Webhooks offrono un modo potente per ricevere notifiche in tempo reale sulle modifiche nelle tue applicazioni. Consentono un'implementazione rapida con un codice minimo, risultando convenienti ed efficienti. Integrando le query delta puoi ottimizzare il recupero dei dati, assicurando che le applicazioni richiedano solo ciò che è cambiato. Questa combinazione migliora la reattività e riduce le chiamate API non necessarie.
Per iniziare, assicurati di configurare correttamente i webhook e di rispondere tempestivamente alle notifiche. Monitora le prestazioni dell'endpoint e gestisci il ciclo di vita del token di accesso per evitare interruzioni. Seguendo queste buone pratiche, puoi costruire applicazioni solide che sfruttano appieno il potenziale di Microsoft Graph Webhooks e delle query delta. Per un approfondimento audio su questi concetti, ascolta il nostro episodio correlato, Microsoft Graph Webhooks - Simply Explained.
Domande frequenti
Che cos'è una sottoscrizione a Microsoft Graph Webhook?
Una sottoscrizione a Microsoft Graph Webhook consente alla tua applicazione di ricevere notifiche sulle modifiche a risorse specifiche. Crei una sottoscrizione per monitorare eventi come gli aggiornamenti degli account utente o le modifiche ai documenti.
Come creo una sottoscrizione?
Per creare una sottoscrizione, registra la tua applicazione, specifica la risorsa da monitorare e fornisci un URL di notifica. Segui i passaggi descritti nel blog per configurare correttamente la sottoscrizione.
Quanto dura una sottoscrizione?
Le sottoscrizioni hanno una durata limitata, che in genere va da poche ore a diversi giorni. Devi rinnovare la sottoscrizione prima della scadenza per mantenere le notifiche senza interruzioni.
Cosa succede se la mia sottoscrizione scade?
Se la sottoscrizione scade, smetterai di ricevere notifiche. Devi rinnovarla tempestivamente per continuare a monitorare le modifiche nella risorsa specificata.
Posso avere più sottoscrizioni?
Sì, puoi creare più sottoscrizioni per risorse diverse. Questa flessibilità ti permette di monitorare contemporaneamente vari eventi, migliorando la reattività della tua applicazione.
Come gestisco il rinnovo della sottoscrizione?
Per rinnovare una sottoscrizione, invia una richiesta di aggiornamento prima della scadenza. Controlla regolarmente le sottoscrizioni per assicurarti che restino attive e reattive alle modifiche.
Cosa devo fare se perdo una notifica?
Se perdi una notifica, usa le query delta per recuperare le ultime modifiche. Le query delta ti aiutano a recuperare gli aggiornamenti avvenuti dall'ultima notifica ricevuta correttamente.
Ci sono misure di sicurezza per le sottoscrizioni?
Sì, implementa misure di sicurezza come la crittografia HTTPS e la convalida delle richieste. Queste pratiche aiutano a proteggere la tua sottoscrizione e a garantire che le notifiche provengano da fonti attendibili.
🎧 Ti consigliamo anche di ascoltare
- Microsoft Graph Change Notifications – Simply Explained rappresenta il passo successivo più pratico e offre un contesto utile su questo argomento.
- Microsoft Graph Connectors – Simply Explained rappresenta il passo successivo più pratico e offre un contesto utile su questo argomento.
- AI Agents – Simply Explained rappresenta il passo successivo più pratico e offre un contesto utile su questo argomento.
Ultima revisione: luglio 2026.