Einrichten von Benachrichtigungen für Änderungen der BenutzerdatenSet up notifications for changes in user data

Die Microsoft Graph-API verwendet einen Webhook-Mechanismus zum Übermitteln von Änderungsbenachrichtigungen an Clients. Ein Client ist ein Webdienst, der eine eigene URL zum Empfangen von Änderungsbenachrichtigungen konfiguriert. Client-Apps verwenden Änderungsbenachrichtigungen, um bei Änderungen ihren Status zu aktualisieren.The Microsoft Graph API uses a webhook mechanism to deliver change notifications to clients. A client is a web service that configures its own URL to receive change notifications. Client apps use change notifications to update their state upon changes.

Nachdem Microsoft Graph die Abonnementsanfrage akzeptiert hat, werden Änderungsbenachrichtigungen an die im Abonnement angegebene URL gesendet.After Microsoft Graph accepts the subscription request, it pushes change notifications to the URL specified in the subscription. Die App führt dann Aktionen gemäß der Geschäftslogik aus.The app then takes action according to its business logic. Sie ruft z. B. weitere Daten ab, aktualisiert ihren Zwischenspeicher und ihre Ansichten usw.For example, it fetches more data, updates its cache and views, and so on.

Standardmäßig enthalten Änderungsbenachrichtigungen keine anderen Ressourcendaten als die id.By default, change notifications do not contain resource data, other than the id. Wenn die App Ressourcendaten anfordert, kann Sse Anrufe an Microsoft Graph-APIs durchführen, um die vollständige Ressource abzurufen.If the app requires resource data, it can make calls to Microsoft Graph APIs to get the full resource. In diesem Artikel wird die Benutzer-Ressource als Beispiel für das Arbeiten mit Änderungsbenachrichtigungen verwendet.This article uses the user resource as an example for working with change notifications.

Eine App kann auch Änderungsbenachrichtigungen abonnieren, die Ressourcendaten enthalten, um zu vermeiden, dass zusätzliche API-Aufrufe für den Datenzugriff vorgenommen werden müssen.An app can also subscribe to change notifications that include resource data, to avoid having to make additional API calls to access the data. Solche Apps müssen zusätzliche Codes einsetzen, um den Anforderungen dieser Benachrichtigungen nachzukommen, insbesondere: Antworten auf Benachrichtigungen über das Ablaufdatum von Abonnements, Überprüfung der Authentizität von Benachrichtigungen und Entschlüsselung von Ressourcendaten.Such apps will need to implement extra code to handle the requirements of such notifications, specifically: responding to subscription lifecycle notifications, validating the authenticity of notifications, and decrypting the resource data. Einzelheiten über die Arbeit mit diesen Benachrichtigungen finden Sie unter Änderungsbenachrichtigungen einrichten, die Ressourcendaten enthalten.For details about how to work with these notifications, see Set up change notifications that include resource data.

Unterstützte RessourcenSupported resources

Mit der Microsoft Graph-API kann eine App Änderungen an den folgenden Ressourcen abonnieren:Using the Microsoft Graph API, an app can subscribe to changes on the following resources:

  • Outlook-[Nachricht][]Outlook message
  • Outlook-[Ereignis][]Outlook event
  • Persönlicher Outlook-[Kontakt][]Outlook personal contact
  • listlist
  • useruser
  • groupgroup
  • Microsoft 365-Gruppen[unterhaltung][]Microsoft 365 group conversation
  • Inhalt in der Hierarchie des driveItem-Objekts eines beliebigen Ordners auf dem persönlichen OneDrive eines BenutzersContent within the hierarchy of any folder driveItem on a user's personal OneDrive
  • Inhalt in der Hierarchie des driveItem-Objekts eines Stammordners auf OneDrive for BusinessContent within the hierarchy of the root folder driveItem on OneDrive for Business
  • [Sicherheitswarnung][]Security alert
  • Teams callRecord Teams callRecord
  • Teams chatMessageTeams chatMessage
  • Teams-[Anwesenheit][] (Vorschau)Teams presence (preview)

Sie können ein Abonnement für einen bestimmten Outlook-Ordner erstellen, z.B. den Posteingang: me/mailFolders('inbox')/messagesYou can create a subscription to a specific Outlook folder such as the Inbox: me/mailFolders('inbox')/messages

Oder für eine Ressource der obersten Ebene: /me/messages, /me/contacts, /me/events, users, groups, /communications/callRecordsOr to a top-level resource: /me/messages, /me/contacts, /me/events, users, groups, /communications/callRecords

Oder für eine bestimmte Ressourceninstanz: users/{id}, groups/{id}, groups/{id}/conversations, sites/{site-id}/lists/{list-id}, /communications/presences/{id}Or to a specific resource instance: users/{id}, groups/{id}, groups/{id}/conversations, sites/{site-id}/lists/{list-id}, /communications/presences/{id}

Oder für einen beliebigen Ordner in der persönlichen OneDrive-Umgebung eines Benutzers: /drives/{id}/root /drives/{id}/root/subfolderOr to any folder in a user's personal OneDrive: /drives/{id}/root /drives/{id}/root/subfolder

Oder für den Stammorder eines Sharepoint-/OneDrive for Business-Laufwerks: /drive/rootOr to the root folder of a SharePoint/OneDrive for Business drive: /drive/root

Oder für eine neue Sicherheits-API-Warnung: /security/alerts?$filter=status eq 'newAlert', /security/alerts?$filter=vendorInformation/provider eq 'ASC'Or to a new Security API alert: /security/alerts?$filter=status eq 'newAlert', /security/alerts?$filter=vendorInformation/provider eq 'ASC'

Azure AD-RessourceneinschränkungenAzure AD resource limitations

Bestimmte Einschränkungen gelten für Azure AD-basierte Ressourcen (Benutzer, Gruppen) und rufen bei Überschreitung Fehler hervor:Certain limits apply to Azure AD based resources (users, groups) and will generate errors when exceeded:

Hinweis: Diese Grenzwerte gelten nicht für Ressourcen aus anderen Diensten als Azure AD.Note: These limits do not apply to resources from services other than Azure AD. Zum Beispiel kann eine App viele weitere Abonnements für message- oder event-Ressourcen erstellen, die vom Exchange Online-Dienst als Bestandteil von Microsoft Graph unterstützt werden.For example, an app can create many more subscriptions to message or event resources, which are supported by the Exchange Online service as part of Microsoft Graph.

  • Maximale Abonnementkontingente:Maximum subscription quotas:

    • Pro App (für alle Mandanten kombiniert): 50.000 Abonnements insgesamtPer app (for all tenants combined): 50,000 total subscriptions
    • Pro Mandant (für alle Anwendungen kombiniert): 1000 Abonnements insgesamt über alle Apps hinwegPer tenant (for all applications combined): 1000 total subscriptions across all apps
    • Pro App und Mandanten kombiniert: 100 Abonnements insgesamtPer app and tenant combination: 100 total subscriptions

Wenn Grenzwerte überschritten werden, resultieren Versuche, ein Abonnement zu erstellen, in einer Fehlerantwort - 403 Forbidden.When any limit is exceeded, attempts to create a subscription will result in an error response - 403 Forbidden. Die message-Eigenschaft erläutert, welcher Grenzwert überschritten wurde.The message property will explain which limit has been exceeded.

  • Azure AD B2C-Mandanten werden nicht unterstützt.Azure AD B2C tenants are not supported.

  • Änderungsbenachrichtigungen für Benutzerentitäten werden für persönliche Microsoft-Konten nicht unterstützt.Change notification for user entities are not supported for personal Microsoft accounts.

  • Es gibt ein bekanntes Problem mit Benutzer- und Gruppenabonnements.A known issue exists with user and group subscriptions.

Outlook-RessourcenbeschränkungenOutlook resource limitations

Beim Abonnieren von Outlook-Ressourcen, z. B. Nachrichten, Ereignisse oder Kontakte, tritt bei Verwendung des Benutzerprinzipalnamens (UPN) im Ressourcenpfad bei der Abonnementanforderung möglicherweise ein Fehler auf, wenn der UPN einen Apostroph enthält.When subscribing to Outlook resources such as messages, events or contacts, if you choose to use the user principal name UPN in the resource path, the subscription request might fail if the UPN contains an apostrophe. Verwenden Sie GUID-Benutzer-IDs anstelle von UPNs, um dieses Problem zu vermeiden.Consider using GUID user IDs instead of UPNs to avoid running into this problem. Anstelle des folgenden Ressourcenpfads:For example, instead of using resource path:

/users/sh.o'neal@contoso.com/messages

Verwenden Sie den folgenden:Use:

/users/{guid-user-id}/messages

Ressourcenbeschränkungen für TeamsTeams resource limitations

Jede Teams-Ressource hat unterschiedliche Abonnement-Kontingente.Each Teams resource has different subscription quotas.

  • Für Abonnements von ** callRecords**:For subscriptions to callRecords:

    • Pro Organisation: 100 Abonnements insgesamtPer organization: 100 total subscriptions
  • Für Abonnements von chatMessages (Kanäle oder Chats):For subscriptions to chatMessages (channels or chats):

    • Pro App- und Kanal- oder Chatkombination: 1 AbonnementPer app and channel or chat combination: 1 subscription
    • Pro Organisation: 10.000 Abonnements insgesamtPer organization: 10,000 total subscriptions

Gültigkeitsdauer von AbonnementsSubscription lifetime

Abonnements haben eine eingeschränkte Gültigkeit.Subscriptions have a limited lifetime. Apps müssen ihre Abonnements vor dem Ablaufzeitpunkt verlängern.Apps need to renew their subscriptions before the expiration time. Andernfalls müssen sie ein neues Abonnement erstellen.Otherwise, they need to create a new subscription. Eine Liste maximaler Ablaufzeiten finden Sie unter Maximale Abonnementdauer pro Ressourcentyp.For a list of maximum expiration times, see Maximum length of subscription per resource type.

Apps können auch jederzeit gekündigt werden, um keine weiteren Änderungsbenachrichtigungen zu erhalten.Apps can also unsubscribe at any time to stop getting change notifications.

Verwalten von AbonnementsManaging subscriptions

Clients können Abonnements erstellen, verlängern und löschen.Clients can create subscriptions, renew subscriptions, and delete subscriptions.

Erstellen eines AbonnementsCreating a subscription

Um Änderungsbenachrichtigungen für eine Ressource zu erhalten, muss in einem ersten Schritt ein Abonnement erstellt werden.Creating a subscription is the first step to start receiving change notifications for a resource. Der Abonnementprozess läuft wie folgt ab:The subscription process is as follows:

  1. Der Client sendet eine Abonnementanforderung (POST) für eine bestimmte Ressource.The client sends a subscription (POST) request for a specific resource.

  2. Microsoft Graph überprüft die Anforderung.Microsoft Graph verifies the request.

    • Wenn die Anforderung gültig ist, sendet Microsoft Graph ein Überprüfungsstoken an die Benachrichtigungs-URL.If the request is valid, Microsoft Graph sends a validation token to the notification URL.
    • Wenn die Anfrage ungültig ist, sendet Microsoft Graph eine Fehlermeldung mit Code und Details.If the request is invalid, Microsoft Graph sends an error response with code and details.
  3. Der Client sendet das Überprüfungstoken zurück an Microsoft Graph.The client sends the validation token back to Microsoft Graph.

  4. Microsoft Graph sendet eine Antwort an den Client zurück.The Microsoft Graph sends a response back to the client.

Der Client muss die Abonnement-ID speichern, um Änderungsbenachrichtigungen mit dem Abonnement korrelieren zu können.The client must store the subscription ID to correlate change notifications with the subscription.

Beispiel für eine AbonnementanfrageSubscription request example

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
  "changeType": "created,updated",
  "notificationUrl": "https://webhook.azurewebsites.net/notificationClient",
  "resource": "/me/mailfolders('inbox')/messages",
  "expirationDateTime": "2016-03-20T11:00:00.0000000Z",
  "clientState": "SecretClientState"
}

Die Eigenschaften changeType, notificationUrl, resource und expirationDateTime sind erforderlich.The changeType, notificationUrl, resource, and expirationDateTime properties are required. Unter subscription-Ressourcentyp finden Sie die Eigenschaftsdefinitionen und Werte.See subscription resource type for property definitions and values.

Die Eigenschaft resource gibt die Ressource an, deren Änderungen überwacht werden.The resource property specifies the resource that will be monitored for changes. Sie können z. B. ein Abonnement für einen bestimmten E-Mail-Ordner erstellen: me/mailFolders('inbox')/messages oder im Auftrag eines Benutzers mit der Zustimmung eines Administrators: users/john.doe@onmicrosoft.com/mailFolders('inbox')/messages.For example, you can create a subscription to a specific mail folder: me/mailFolders('inbox')/messages or on behalf of a user given by an administrator consent: users/john.doe@onmicrosoft.com/mailFolders('inbox')/messages.

clientState ist zwar nicht erforderlich, muss aber eingeschlossen werden, um unserem empfohlenen Prozess zum Umgang mit Änderungsbenachrichtigungen zu entsprechen.Although clientState is not required, you must include it to comply with our recommended change notification handling process. Durch das Festlegen dieser Eigenschaft können Sie bestätigen, dass die empfangenen Änderungsbenachrichtigungen vom Microsoft Graph-Dienst stammen.Setting this property will allow you to confirm that change notifications you receive originate from the Microsoft Graph service. Aus diesem Grund muss der Wert der Eigenschaft geheim bleiben und darf nur der Anwendung und dem Microsoft Graph-Dienst bekannt sein.For this reason, the value of the property should remain secret and known only to your application and the Microsoft Graph service.

Wenn der Vorgang erfolgreich war, gibt Microsoft Graph einen 201 Created-Code und ein subscription-Objekt im Textkörper zurück.If successful, Microsoft Graph returns a 201 Created code and a subscription object in the body.

Hinweis: Jeder String-Parameter in der Abfrage, der in der Eigenschaft notificationUrl enthalten ist, wird bei der Zustellung von Benachrichtigungen in die HTTP-POST-Anforderung aufgenommen.Note: Any query string parameter included in the notificationUrl property will be included in the HTTP POST request when notifications are being delivered.

Endpunktprüfung für BenachrichtigungenNotification endpoint validation

Microsoft Graph überprüft den Benachrichtigungsendpunkt, der in der Eigenschaft notificationUrl der Abonnementanfrage angegeben ist, bevor das Abonnement erstellt wird.Microsoft Graph validates the notification endpoint provided in the notificationUrl property of the subscription request before creating the subscription. Der Überprüfungsprozess läuft wie folgt ab:The validation process occurs as follows:

  1. Microsoft Graph codiert ein Überprüfungstoken und fügt es in eine POST-Anforderung an die Benachrichtigungs-URL ein:Microsoft Graph encodes a validation token and includes it in a POST request to the notification URL:

    Content-Type: text/plain; charset=utf-8
    POST https://{notificationUrl}?validationToken={opaqueTokenCreatedByMicrosoftGraph}
    
  2. Der Client muss die im vorhergehenden Schritt bereitgestellten validationToken ordnungsgemäß decodieren und das gesamte HTML/JavaScript mit einem Escapezeichen versehen.The client must properly decode the validationToken provided in the preceding step, and escape any HTML/JavaScript.

    Ein Escapezeichen ist eine bewährte Methode, da böswillige Akteure den Benachrichtigungsendpunkt für websiteübergreifende Scripting-Angriffe verwenden können.Escaping is a good practice because malicious actors can use the notification endpoint for cross-site scripting type of attacks.

    Behandeln Sie den Wert des Überprüfungstokens im Allgemeinen als nicht transparent, da sich das Tokenformat im Allgemeinen ohne vorherige Ankündigung ändern kann.In general, treat the validation token value as opaque, as the token format can generally change without notice. Microsoft Graph sendet niemals einen Wert, der HTML- oder JavaScript-Code enthält.Microsoft Graph never sends any value containing HTML or JavaScript code.

  3. Der Client muss innerhalb von 10 Sekunden nach Schritt 1 eine Antwort mit folgenden Merkmalen bereitstellen:The client must provide a response with the following characteristics within 10 seconds of step 1:

    • Statuscode HTTP 200 OK.A status code of HTTP 200 OK.
    • Inhaltstyp text/plain.A content type of text/plain.
    • Ein Textkörper, der das decodierte Überprüfungstoken enthält.A body that includes the decoded validation token.

    Der Client muss den Überprüfungstoken verwerfen, nachdem er in der Antwort bereitgestellt wurde.The client should discard the validation token after providing it in the response.

    Wichtig: Wenn der Client ein codiertes Überprüfungstoken zurückgibt, tritt bei der Überprüfung ein Fehler auf.Important: If the client returns an encoded validation token, the validation will fail.

Darüber hinaus können Sie die Microsoft Graph-Postman-Sammlung verwenden, um zu bestätigen, dass Ihr Endpunkt die Überprüfungsanforderung ordnungsgemäß implementiert.Additionally, you can use the Microsoft Graph Postman collection to confirm that your endpoint properly implements the validation request. Die Anforderung Abonnementüberprüfung im Ordner Misc enthält Komponententests, mit denen die vom Endpunkt bereitgestellte Antwort überprüft wird.The Subscription Validation request in the Misc folder provides unit tests that validate the response provided by your endpoint.

Testergebnisse der Validierungsantwort

Verlängern eines AbonnementsRenewing a subscription

Der Kunde kann ein Abonnement mit einem bestimmten Ablaufdatum von bis zu drei Tagen ab dem Zeitpunkt der Anforderung verlängern.The client can renew a subscription with a specific expiration date of up to three days from the time of request. Die Eigenschaft expirationDateTime muss angegeben werden.The expirationDateTime property is required.

Beispiel für eine AbonnementverlängerungSubscription renewal example

PATCH https://graph.microsoft.com/v1.0/subscriptions/{id}
Content-Type: application/json

{
  "expirationDateTime": "2016-03-22T11:00:00.0000000Z"
}

Wenn der Vorgang erfolgreich war, gibt Microsoft Graph einen 200 OK-Code und ein subscription-Objekt im Textkörper zurück.If successful, Microsoft Graph returns a 200 OK code and a subscription object in the body. Das Abonnementobjekt enthält den neuen Wert für expirationDateTime.The subscription object includes the new expirationDateTime value.

Löschen eines AbonnementsDeleting a subscription

Der Client kann den Erhalt von Änderungsbenachrichtigungen stoppen, indem er das Abonnement anhand seiner ID löscht.The client can stop receiving change notifications by deleting the subscription using its ID.

DELETE https://graph.microsoft.com/v1.0/subscriptions/{id}

Wenn der Vorgang erfolgreich verläuft, gibt Microsoft Graph einen 204 No Content-Code zurück.If successful, Microsoft Graph returns a 204 No Content code.

ÄnderungsbenachrichtigungenChange notifications

Wenn ein Client Änderungen an einer Ressource abonniert, sendet Microsoft Graph eine POST-Anforderung an die Benachrichtigungs-URL, sobald sich die Ressource ändert.With a client subscribing to changes to a resource, Microsoft Graph sends a POST request to the notification URL whenever the resource changes. Benachrichtigungen werden nur für die Änderungen des Typs gesendet, der im Abonnement angegeben ist, z. B. created.It sends notifications only for changes of the type that's specified in the subscription, for example, created.

Hinweis: Wenn ein Client über mehrere Abonnements verfügt, die dieselbe Ressource überwachen und die gleiche Benachrichtigungs-URL verwenden, kann Microsoft Graph mehrere Änderungsbenachrichtigungen senden, die verschiedenen Abonnements entsprechen, wobei jeweils die entsprechende Abonnement-ID angezeigt wird.Note: If a client has multiple subscriptions that monitor the same resource and use the same notification URL, Microsoft Graph can send multiple change notifications that correspond to different subscriptions, each showing the corresponding subscription ID. Es kann nicht garantiert werden, dass alle Änderungsbenachrichtigungen in der POST-Anforderung zu einem einzelnen Abonnement gehören.There is no guarantee that all change notifications in the POST request belong to a single subscription.

Beispiel für eine ÄnderungsbenachrichtigungChange notification example

Dieser Abschnitt zeigt ein Beispiel für eine Benachrichtigung für die Erstellung einer Nachricht.This section shows an example of a notification for a message creation. Wenn der Benutzer eine E-Mail empfängt, sendet Microsoft Graph eine Änderungsbenachrichtigung wie die folgende:When the user receives an email, Microsoft Graph sends a change notification as shown in the following example. Beachten Sie, dass sich die Benachrichtigung in einer Sammlung befindet, die im value-Feld dargestellt wird.Note that the notification is in a collection represented in the value field. Details zur Benachrichtigungsnutzlast finden Sie unter changeNotificationCollection.See changeNotificationCollection for details of the notification payload.

Wenn zahlreiche Änderungen vorgenommen werden, kann Microsoft Graph mehrere Benachrichtigungen senden, die verschiedenen Abonnements in derselben POST-Anforderung entsprechen.When many changes occur, Microsoft Graph may send multiple notifications that correspond to different subscriptions in the same POST request.

{
  "value": [
    {
      "id": "lsgTZMr9KwAAA",
      "subscriptionId":"{subscription_guid}",
      "subscriptionExpirationDateTime":"2016-03-19T22:11:09.952Z",
      "clientState":"secretClientValue",
      "changeType":"created",
      "resource":"users/{user_guid}@{tenant_guid}/messages/{long_id_string}",
      "tenantId": "84bd8158-6d4d-4958-8b9f-9d6445542f95",
      "resourceData":
      {
        "@odata.type":"#Microsoft.Graph.Message",
        "@odata.id":"Users/{user_guid}@{tenant_guid}/Messages/{long_id_string}",
        "@odata.etag":"W/\"CQAAABYAAADkrWGo7bouTKlsgTZMr9KwAAAUWRHf\"",
        "id":"{long_id_string}"
      }
    }
  ]
}

Verarbeiten der ÄnderungsbenachrichtigungProcessing the change notification

Ihr Prozess sollte alle empfangenen Änderungsbenachrichtigungen verarbeiten.Your process should process every change notification it receives. Die folgenden Aufgaben müssen von der App mindestens durchgeführt werden, um eine Änderungsbenachrichtigung zu verarbeiten:The following are the minimum tasks that your app must perform to process a change notification:

  1. Senden Sie in Ihrer Antwort an Microsoft Graph einen 202 - Accepted-Statuscode.Send a 202 - Accepted status code in your response to Microsoft Graph. Wenn Microsoft Graph keinen 2xx-Klassencode empfängt, wird für einen Zeitraum von ungefähr 4 Stunden mehrere Male versucht, die Änderungsbenachrichtigung zu veröffentlichen. Anschließend wird die Änderungsbenachrichtigung gelöscht und nicht übermittelt.If Microsoft Graph doesn't receive a 2xx class code, it will try to publishing the change notification a number of times, for a period of about 4 hours; after that, the change notification will be dropped and won't be delivered.

    Hinweis: Senden Sie einen 202 - Accepted-Statuscode, sobald Sie die Änderungsbenachrichtigung erhalten haben, sogar bevor Sie deren Authentizität überprüft haben.Note: Send a 202 - Accepted status code as soon as you receive the change notification, even before validating its authenticity. Sie bestätigen lediglich den Empfang der Änderungsbenachrichtigung und verhindern unnötige Wiederholungen.You are simply acknowledging the receipt of the change notification and preventing unnecessary retries. Das aktuelle Timeout beträgt 30 Sekunden, es kann aber künftig reduziert werden, um die Leistung des Diensts zu optimieren.The current timeout is 30 seconds, but it might be reduced in the future to optimize service performance. Wenn die Benachrichtigungs-URL über einen Zeitraum von 10 Minuten nicht innerhalb von 30 Sekunden auf mehr als 10 % der Anforderungen von Microsoft Graph reagiert, werden alle folgenden Benachrichtigungen verzögert und über einen Zeitraum von 4 Stunden wiederholt.If the notification URL doesn't reply within 30 seconds for more than 10% of the requests from Microsoft Graph over a 10 minute period, all following notifications will be delayed and retried for a period of 4 hours. Wenn die Benachrichtigungs-URL über einen Zeitraum von 10 Minuten nicht innerhalb von 30 Sekunden auf mehr als 20 % der Anforderungen von Microsoft Graph reagiert, werden alle folgenden Benachrichtigungen gelöscht.If a notification URL doesn't reply within 30 seconds for more than 20% of the requests from Microsoft Graph over a 10 minute period, all following notifications will be dropped.

  2. Überprüfen der clientState-Eigenschaft.Validate the clientState property. Sie muss dem Wert entsprechen, der ursprünglich mit der Anforderung zum Erstellen eines Abonnement übermittelt wurde.It must match the value originally submitted with the subscription creation request.

    Hinweis: Ist dies nicht der Fall, kann die Änderungsbenachrichtigung nicht als gültig betrachtet werden.Note: If this isn't true, you should not consider this a valid change notification. Es ist möglich, dass die Änderungsbenachrichtigung nicht von Microsoft Graph stammt und möglicherweise von einem gefälschten Akteur gesendet wurde.It is possible that the change notification has not originated from Microsoft Graph and may have been sent by a rogue actor. Prüfen Sie auch, woher die Änderungsbenachrichtigung stammt, und ergreifen Sie die entsprechenden Maßnahmen.You should also investigate where the change notification comes from and take appropriate action.

  3. Aktualisieren Sie die Anwendung basierend auf Ihrer Geschäftslogik.Update your application based on your business logic.

Wiederholen Sie den Vorgang für weitere Änderungsbenachrichtigungen in der Anfrage.Repeat for other change notifications in the request.

CodebeispieleCode samples

Es folgen einige Codebeispiele in GitHub.The following code samples are available on GitHub.

FirewallkonfigurationFirewall configuration

Sie können die Firewall, die Ihre Benachrichtigungs-URL schützt, optional so konfigurieren, dass sie eingehende Verbindungen nur von Microsoft Graph zulässt.You can optionally configure the firewall that protects your notification URL to allow inbound connections only from Microsoft Graph. Auf diese Weise können Sie die Gefährdung durch ungültige Änderungsbenachrichtigungen, die an Ihre Benachrichtigungs-URL gesendet werden, weiter verringern.This allows you to reduce further exposure to invalid change notifications that are sent to your notification URL. Diese ungültigen Änderungsbenachrichtigungen können versuchen, die von Ihnen implementierte benutzerdefinierte Logik auszulösen.These invalid change notifications can be trying to trigger the custom logic that you implemented. Eine vollständige Liste der IP-Adressen, die von Microsoft Graph zur Übermittlung von Änderungsbenachrichtigungen verwendet werden, finden Sie unter Zusätzliche Endpunkte für Microsoft 365.For a complete list of IP addresses used by Microsoft Graph to deliver change notifications, see additional endpoints for Microsoft 365.

Hinweis: Die aufgeführten IP-Adressen, die zur Übermittlung von Änderungsbenachrichtigungen verwendet werden, können jederzeit ohne Vorankündigung aktualisiert werden.Note: The listed IP addresses that are used to deliver change notifications can be updated at any time without notice.

WartezeitLatency

Die folgende Tabelle enthält eine Liste der voraussichtlichen Wartezeiten zwischen dem Eintreten eines Ereignisses im Dienst und der Übermittlung der Änderungsbenachrichtigung.The following table lists the latency to expect between an event happening in the service and the delivery of the change notification.

RessourceResource Durchschnittliche WartezeitAverage latency Maximale WartezeitMaximum latency
callRecordcallRecord Weniger als 15 MinutenLess than 15 minutes 60 Minuten60 minutes
chatMessagechatMessage Weniger als 10 SekundenLess than 10 seconds 1 Minute1 minute
contactcontact UnbekanntUnknown UnbekanntUnknown
driveItemdriveItem Weniger als 1 MinuteLess than 1 minute 5 Minuten5 minutes
eventevent UnbekanntUnknown UnbekanntUnknown
groupgroup Weniger als 2 MinutenLess than 2 minutes 15 Minuten15 minutes
conversationconversation UnbekanntUnknown UnbekanntUnknown
listlist Weniger als 1 MinuteLess than 1 minute 5 Minuten5 minutes
messagemessage UnbekanntUnknown UnbekanntUnknown
alertalert Weniger als 3 MinutenLess than 3 minutes 5 Minuten5 minutes
presence (Vorschau)presence (preview) Weniger als 10 SekundenLess than 10 seconds 1 Minute1 minute
useruser Weniger als 2 MinutenLess than 2 minutes 15 Minuten15 minutes

Hinweis: Die Wartezeit, die für die Warnungs- Ressource bereitgestellt wird, gilt erst nach der Erstellung der Benachrichtigung.Note: The latency provided for the alert resource is only applicable after the alert itself has been created. Sie enthält nicht die Zeit, die eine Regel benötigt, um eine Benachrichtigung aus den Daten zu erstellen.It does not include the time it takes for a rule to create an alert from the data.

Siehe auchSee also