Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Zuletzt aktualisiert: 29.06.2018

Outlook Pushbenachrichtigungen-REST-API-Verweis

Diese Version der Dokumentation deckt die Pushbenachrichtigungs-API in der Vorschauversion ab. Die Funktionen der Vorschauversion können vor der Fertigstellung geändert werden und können den Code, der sie verwendet, beschädigen. Aus diesem Grund sollten Sie in der Regel nur eine Produktionsversion einer API in Ihrem Produktionscode verwenden. Falls verfügbar, ist v2.0 derzeit die bevorzugte Version.

Gilt für: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

Die Outlook Pushbenachrichtigungen-REST-API sendet Benachrichtigungen an einen clientseitigen Webdienst, damit Anwendungen über Änderungen an den Postfachdaten eines Benutzers informiert werden. Die Änderungen können in den Mail-, Kalender-, Kontakt- oder Aufgabendaten des Benutzers auftreten, die durch Azure Active Directory in Office 365 oder in Microsoft-Konten speziell in diesen Domänen gesichert sind: Hotmail.com, Live.com, MSN.com, Outlook.com und Passport.com.

Hinweis Zur Vereinfachung des Verweises verwendet der Rest dieses Artikels "Outlook.com", um diese Microsoft-Konto-Domänen mit einzuschließen.

Sie interessieren sich nicht für die Beta-Version der API? Verwenden Sie das Steuerelement in der oberen rechten Ecke, und wählen Sie die gewünschte Version aus.

Gilt für: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

Die Outlook Pushbenachrichtigungen-REST-API sendet Benachrichtigungen über einen Webhook an einen clientseitigen Webdienst, um Anwendungen über Änderungen an den Postfachdaten eines Benutzers zu benachrichtigen. Die Daten können in den Mail-, Kalender-, Kontakt- oder Aufgabendaten des Benutzers enthalten sein, die durch Azure Active Directory in Office 365 oder in Microsoft-Konten speziell in diesen Domänen gesichert sind: Hotmail.com, Live.com, MSN.com, Outlook.com und Passport.com.

Hinweis Zur Vereinfachung des Verweises verwendet der Rest dieses Artikels "Outlook.com", um diese Microsoft-Konto-Domänen mit einzuschließen.

Kein Interesse an v2.0 der API? Verwenden Sie das Steuerelement oben rechts und wählen Sie Ihre gewünschte Version.

Übersicht

Der Office 365 Pushbenachrichtigungsdienst und die API arbeiten mit Clients, die einem Webdienst eine Callback-Adresse bereitstellen und verwenden Webhooks, um Benachrichtigungen an Client-Apps zu senden. Webhooks sind HTTP-Callbacks, die in der Regel von einem vertrauenswürdigen Backend-Webdienst eines Drittanbieters konfiguriert werden. Der Webdienst kann Webhooks so konfigurieren, dass auslösende Ereignisse auf einer Website das Verhalten auf einer anderen aufrufen.

Wenn eine App Benachrichtigungen zu einer bestimmten Ressource abonniert (z.B. Nachrichten im Posteingang des Benutzers), gibt sie eine Webhook-Callback-URL in der Abonnementanforderung an. Wenn ein auslösendes Ereignis eintritt (z.B. eine neue Nachricht im Posteingang), pusht der Benachrichtigungsdienst von Office 365 eine Benachrichtigung über einen Webhook an die Callback-URL. Die App wiederum ergreift Maßnahmen entsprechend ihrer Geschäftslogik, wie z.B. das Abrufen der neuen Nachricht und das Aktualisieren der Anzahl ungelesener Nachrichten.

Apps sollten ihre Abonnements verlängern, bevor sie ablaufen. Die Apps können sich auch jederzeit abmelden, um keine Benachrichtigungen mehr zu erhalten.

Der Office 365 Pushbenachrichtigungsdienst und die API arbeiten mit Clients, die einem Webdienst eine Callback-Adresse bereitstellen und verwenden Webhooks, um Benachrichtigungen an Client-Apps zu senden. Webhooks sind HTTP-Callbacks, die in der Regel von einem vertrauenswürdigen Backend-Webdienst eines Drittanbieters konfiguriert werden. Der Webdienst kann Webhooks so konfigurieren, dass auslösende Ereignisse auf einer Website das Verhalten auf einer anderen aufrufen.

Wenn eine App Benachrichtigungen zu einer bestimmten Ressource abonniert (z.B. Nachrichten im Posteingang des Benutzers), gibt sie eine Webhook-Callback-URL in der Abonnementanforderung an. Wenn ein auslösendes Ereignis eintritt (z.B. eine neue Nachricht im Posteingang), pusht der Benachrichtigungsdienst von Office 365 eine Benachrichtigung über einen Webhook an die Callback-URL. Die App wiederum ergreift Maßnahmen entsprechend ihrer Geschäftslogik, wie z.B. das Abrufen der neuen Nachricht und das Aktualisieren der Anzahl ungelesener Nachrichten.

Apps sollten ihre Abonnements verlängern, bevor sie ablaufen. Die Apps können sich auch jederzeit abmelden, um keine Benachrichtigungen mehr zu erhalten.

Vergleich von Streaming- und Pushbenachrichtigungen

Mail-, Kalender- und CRM-Apps verwenden normalerweise Benachrichtigungen, um ihren lokalen Cache, die entsprechenden Client-Ansichten oder das Backend-System bei Änderungen zu aktualisieren. Outlook unterstützt sowohl Streaming-, als auch Pushbenachrichtigungen. Derzeit werden Pushbenachrichtigungen häufig von mobilen Anwendungen verwendet, da die Clients nicht nach Änderungen fragen müssen und Aktualisierungen für die Clients fast sofort verfügbar sind.

Im Vergleich zu Streaming-Benachrichtigungen erfordern Pushbenachrichtigungen, dass der Client einen eigenen Webdienst bereitstellt, um Benachrichtigungen zu erhalten, während Streaming-Benachrichtigungen nur eine direkte Verbindung zwischen dem Client und dem Office 365 Streaming-Benachrichtigungsdienst erfordern.

Mail-, Kalender- und CRM-Apps verwenden normalerweise Benachrichtigungen, um ihren lokalen Cache, die entsprechenden Client-Ansichten oder das Backend-System bei Änderungen zu aktualisieren. Outlook unterstützt sowohl Streaming-, als auch Pushbenachrichtigungen. Derzeit werden Pushbenachrichtigungen häufig von mobilen Anwendungen verwendet, da die Clients nicht nach Änderungen fragen müssen und Aktualisierungen für die Clients fast sofort verfügbar sind.

Im Vergleich zu Streaming-Benachrichtigungen erfordern Pushbenachrichtigungen, dass der Client einen eigenen Webdienst bereitstellt, um Benachrichtigungen zu erhalten, während Streaming-Benachrichtigungen nur eine direkte Verbindung zwischen dem Client und dem Office 365 Streaming-Benachrichtigungsdienst erfordern.

Verwenden der Pushbenachrichtigungen-REST-API

Authentifizierung

Um Abonnements zu abonnieren, abzufragen, zu erneuern und zu löschen, geben Sie die entsprechenden Bereiche für die Arten von Ressourcen an, über die Sie benachrichtigt werden möchten.

Minimal benötigter Bereich: einer der folgenden Lese-/Schreibbereiche entsprechend der Zielressource:

Wie andere Outlook-REST-APIs sollten Sie für jede Anforderung an die Outlook-Pushbenachrichtigungs-API ein gültiges Zugriffstoken angeben. Um ein Zugriffstoken zu erhalten, müssen Sie sich registriert und Ihre App identifiziert und die entsprechende Autorisierung erhalten haben. Sie können mehr über einige optimierte Registrierungs- und Autorisierungsoptionen für Sie herausfinden. Beachten Sie dies, wenn Sie mit den spezifischen Operationen in der Pushbenachrichtigungs-API fortfahren.

Um Abonnements zu abonnieren, abzufragen, zu erneuern und zu löschen, geben Sie die entsprechenden Bereiche für die Arten von Ressourcen an, über die Sie benachrichtigt werden möchten.

Minimal benötigter Bereich: einer der folgenden Lese-/Schreibbereiche entsprechend der Zielressource:

Wie andere Outlook-REST-APIs sollten Sie für jede Anforderung an die Outlook-Pushbenachrichtigungs-API ein gültiges Zugriffstoken angeben. Um ein Zugriffstoken zu erhalten, müssen Sie sich registriert und Ihre App identifiziert und die entsprechende Autorisierung erhalten haben. Sie können mehr über einige optimierte Registrierungs- und Autorisierungsoptionen für Sie herausfinden. Beachten Sie dies, wenn Sie mit den spezifischen Operationen in der Pushbenachrichtigungs-API fortfahren.

Version der API

Diese API wurde von der Vorschauversion auf den Status Allgemeine Verfügbarkeit (GA) befördert. Sie wird in den v2.0 und Beta-Versionen der Outlook-REST-API unterstützt.

Diese API wurde von der Vorschauversion auf den Status Allgemeine Verfügbarkeit (GA) befördert. Sie wird in den v2.0 und Beta-Versionen der Outlook-REST-API unterstützt.

Ziel-Benutzer

API-Anfragen der Pushbenachrichtigungen werden immer im Namen des aktuellen Benutzers ausgeführt.

Weitere Informationen, die allen Untergruppen von Outlook-REST-API gemeinsam sind, finden Sie unter Outlook-REST-API verwenden.


API-Anfragen der Pushbenachrichtigungen werden immer im Namen des aktuellen Benutzers ausgeführt.

Weitere Informationen, die allen Untergruppen von Outlook-REST-API gemeinsam sind, finden Sie unter Outlook-REST-API verwenden.


Operationen mit Pushbenachrichtigungen

Benachrichtigungen abonnieren | Abonnement erneuern | Abonnement löschen

Benachrichtigungen abonnieren | Abonnement erneuern | Abonnement löschen

Änderungen in meiner Mail, meinem Kalender, meinen Kontakten oder Aufgaben abonnieren

Abonnement-Prozess

Der Abonnement-Prozess läuft wie folgt ab:

  1. Eine Client-App stellt eine Abonnementanforderung (POST) für eine bestimmte Ressource. Sie enthält unter anderen Eigenschaften auch eine Benachrichtigungs-URL.

  2. Der Outlook-Benachrichtigungsdienst versucht, die Benachrichtigungs-URL mit dem Listener-Service zu validieren. Sie enthält ein Validierungstoken in der Validierungsanforderung.

  3. Wenn der Listener-Service die URL erfolgreich validiert, gibt er innerhalb von 5 Sekunden eine Erfolgsmeldung wie folgt zurück:

    • Setzt den Inhaltstyp im Antwortkopf auf  text\plain.
    • Enthält das gleiche Validierungstoken im Antwort-Text.
    • Gibt einen HTTP 200-Antwortcode zurück. Der Listener kann das Validierungstoken nachträglich verwerfen.
  4. Abhängig vom Ergebnis der URL-Validierung sendet der Outlook-Benachrichtigungsdienst eine Antwort an die Client-App:

    • Wenn die URL-Validierung erfolgreich war, legt der Dienst das Abonnement mit einer eindeutigen Abonnement-ID an und sendet die Antwort an den Client.
    • Wenn die URL-Validierung nicht erfolgreich war, sendet der Dienst eine Fehlerantwort mit einem Fehlercode und weiteren Details.
  5. Nach Erhalt einer erfolgreichen Antwort speichert die Client-App die Abonnement-ID, um zukünftige Benachrichtigungen mit diesem Abonnement zu korrelieren.

Abonnement-Anforderung

Abonniert einen Listener-Dienst, um Benachrichtigungen zu erhalten, wenn sich E-Mails, Kalenderereignisse, Kontakte oder Aufgaben in Office 365 oder Outlook.com ändern. Dies ist der erste Schritt für einen Client, um Benachrichtigungen für eine Ressource (eine Entität oder Entitätensammlung) abzurufen.

POST https://outlook.office.com/api/beta/me/subscriptions

Geben Sie im Anforderungstext die folgenden Eigenschaften für eine Push-Abonnement-Anforderung an. Bis auf ClientStatewerden alle Eigenschaften benötigt. Weitere Informationen finden Sie unter  Benachrichtigungsentitäten.

  • odata.type - Enthält "@odata.type":"#Microsoft.OutlookServices.PushSubscription". Die PushSubscription Entität definiert NotificationURL.
  • ChangeType  - Gibt die Art der zu überwachenden Ereignisse für diese Ressource an. Siehe ChangeType für die unterstützten Arten.
  • ClientState - Optionale Eigenschaft, die angibt, dass jede Benachrichtigung mit einem Header mit dem ClientState-Wert gesendet werden soll. So kann der Listener die Rechtmäßigkeit jeder Benachrichtigung überprüfen.
  • NotificationURL  - Gibt an, wohin Benachrichtigungen gesendet werden sollen. Diese URL stellt einen Webdienst dar, der typischerweise vom Client implementiert wird.
  • Ressource  - Gibt die Ressource an, die überwacht werden und Benachrichtigungen erhalten soll. Sie können optionale Abfrageparameter verwenden, $filter, um die Bedingungen für eine Benachrichtigung verfeinern, oder $select, um spezifische Eigenschaften in eine umfangreiche Benachrichtigung aufzunehmen. Im Folgenden sind die unterstützten Ressourcen aufgeführt:

    • Ein normaler Ordner oder Suchordner für Nachrichten, Ereignisse, Kontakte oder Aufgaben. Als Beispiele dienen:

      https://outlook.office.com/api/beta/me/mailfolders('inbox')/messages

      https://outlook.office.com/api/beta/me/taskfolders('{folder_id}')/tasks

    • Oder eine Entitätssammlung auf oberster Ebene mit Nachrichten, Ereignissen, Kontakten oder Aufgaben wie z.B.:

      https://outlook.office.com/api/beta/me/messages

      https://outlook.office.com/api/beta/me/events

      https://outlook.office.com/api/beta/me/contacts

      https://outlook.office.com/api/beta/me/tasks

Beispiel zur Anforderung eines Abonnements

Das folgende Beispiel zeigt, wie Sie neue Ereignisse abonnieren können.

POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1
Content-Type: application/json

{
   "@odata.type":"#Microsoft.OutlookServices.PushSubscription",
   "Resource": "https://outlook.office.com/api/beta/me/events",
   "NotificationURL": "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",  
   "ChangeType": "Created",
   "ClientState": "c75831bd-fad3-4191-9a66-280a48528679"
}

Bedingungen für Benachrichtigung verfeinern

Mit dem Abfrageparameter $filter können Sie die Bedingungen für eine Meldung weiter verfeinern.

Das folgende Beispiel fordert eine Benachrichtigung für eine Nachricht an, die im Ordner "Entwürfe" erstellt wird und eine oder mehrere Anhänge enthält, wobei die Wichtigkeit  High ist:

POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1 
Content-Type: application/json 

{ 
  @odata.type:"#Microsoft.OutlookServices.PushSubscription", 
  Resource: "https://outlook.office.com/api/beta/me/mailfolders('Drafts')/messages?$filter=HasAttachments%20eq%20true%20AND%20Importance%20eq%20%27High%27", 
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient", 
  ChangeType: "Created", 
  ClientState: "Has attachments and high importance" 
} 

Das folgende Beispiel fordert eine Benachrichtigung für ein ganztägiges Ereignis an, das erstellt wird:

POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1 
Content-Type: application/json 

{ 
  @odata.type:"#Microsoft.OutlookServices.PushSubscription", 
  Resource: "https://outlook.office.com/api/beta/me/events?$filter=IsAllDay%20eq%20true", 
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient", 
  ChangeType: "Created", 
  ClientState: "Notifications for events that IsAllDay." 
} 

Das folgende Beispiel fordert eine Benachrichtigung für einen Kontakt, der mit dem Unternehmen being Contoso erstellt wird:

POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1 
Content-Type: application/json 

{ 
  @odata.type:"#Microsoft.OutlookServices.PushSubscription", 
  Resource: "https://outlook.office.com/api/beta/me/contacts?$filter=CompanyName%20eq%20%27Contoso%27", 
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient", 
  ChangeType: "Created", 
  ClientState: "Contacts in Contoso." 
} 

Eine häufige Anwendung von $filter ist die Benachrichtigung über eine Änderung einer bestimmten Eigenschaft der angegebenen Ressource. Sie können beispielsweise $filter verwenden, um ungelesene Nachrichten in einem Ordner zu abonnieren (die Eigenschaft IsRead ist falsch) und alle Änderungsarten einbeziehen:

  • Eine im Ordner hinzugefügte oder als ungelesen markierte Nachricht würde eine Created Benachrichtigung auslösen.
  • Das Lesen einer Nachricht oder das Markieren als gelesen im Ordner würde eine Deleted Benachrichtigung auslösen.
  • Eine Änderung einer beliebigen Eigenschaft, außer IsRead, einer Nachricht im Ordner würde eine Updated Benachrichtigung auslösen.

Sie können ein solches Abonnement wie folgt erstellen:

POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1
Content-Type: application/json

{
  @odata.type:"#Microsoft.OutlookServices.PushSubscription",
  Resource: "https://outlook.office.com/api/beta/me/mailfolders('folder_id')/messages$filter=IsRead%20eq%20false",
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",
  ChangeType: "Created,Deleted,Updated",
  ClientState: "Message unread"
}

Wenn Sie beim Erstellen des Abonnements keine $filter verwenden (wie unten):

  • Das Hinzufügen einer Nachricht zum Ordner würde zu einer Created Benachrichtigung führen.
  • Das Lesen einer Nachricht im Ordner, das Markieren der Nachricht als gelesen oder das Ändern anderer Nachrichteneigenschaften einer Nachricht in diesem Ordner würde zu einer Updated Benachrichtigung führen.
  • Das Löschen der Nachricht würde zu einer Delete Benachrichtigung führen.
POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1
Content-Type: application/json

{
  @odata.type:"#Microsoft.OutlookServices.PushSubscription",
  Resource: "https://outlook.office.com/api/beta/me/mailfolders('folder_id')/messages,
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",
  ChangeType: "Created,Deleted,Updated",
  ClientState: "Message unread"
}

Validierungsanforderung

Die Validierungsanforderung versucht, die NotificationURL zu validieren, die eine Client-App in einer Abonnementanforderung angibt:

POST https://{notificationUrl}?validationToken={token}

Der Outlook-Dienst gibt die NotificationURL in der Abbonementanforderung in {notificationUrl} an und definiert eine Zeichenfolge {token} als Validierungstoken. Der Outlook-Dienst enthält auch einen ClientState-Header, wenn die Client-App einen in der Abonnement-Anfrage enthält.

Abonnement-Antwort

Die Abbonement-Antwort enthält die Eigenschaften in der Anforderung und die folgenden zusätzlichen Eigenschaften:

  • Id - Die eindeutige Abonnement-ID, die die Client-App speichern sollte, um sie mit zukünftigen Benachrichtigungen abzugleichen.
  • ChangeType - Die Antwort enthält neben den in der Anforderung angegebenen Werten den zusätzlichen Benachrichtigungstyp Missed.
  • SubscriptionExpirationDateTime - Datum und Uhrzeit des Ablaufs des Abonnements. Wenn die Abonnementanforderung keine Verfallszeit angibt oder wenn die Anforderung eine Verfallszeit angibt, die länger als die maximal erlaubte ist, wird diese Eigenschaft ab dem Zeitpunkt des Sendens der Anforderung auf die maximal erlaubte Länge gesetzt. Für ein Abonnement, das umfangreiche Benachrichtigungen über bestimmte Eigenschaften anfordert, ist maximal 1 Tag erlaubt. Für andere Abonnements beträgt das Maximum 7 Tage.
  • Andere OData-bezogene Eigenschaften.

Beispiel für eine Abonnement-Antwort

Diese Antwort zeigt an, dass der Listener-Dienst Benachrichtigungen über neue Ereignisse und verpasste Änderungen erwarten sollte. Wenn es verpasste Änderungen gibt, muss sich der Client mit dem Dienst synchronisieren, um sie zu erfassen.

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Subscriptions/$entity",
    "@odata.type": "#Microsoft.OutlookServices.PushSubscription",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Subscriptions('Mjk3QNERDQQ==')",
    "Id": "Mjk3QNERDQQ==",
    "Resource": "https://outlook.office.com/api/beta/me/events",
    "ChangeType": "Created, Missed",
    "ClientState": "c75831bd-fad3-4191-9a66-280a48528679",
    "NotificationURL": "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",
    "SubscriptionExpirationDateTime": "2015-04-23T22:46:13.8805047Z"
}

Abonnement abfragen Sie können Details zu allen bestehenden Abonnements des angemeldeten Benutzers finden, indem Sie dessen Abonnement-ID angeben. Als Beispiel, um das im letzten Beispiel angelegte Abonnement abzufragen:

GET https://outlook.office.com/api/beta/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Subscriptions('Mjk3QNERDQQ==')

Im Erfolgsfall wäre die Antwort die gleiche wie die letzten Antwortdaten des Beispiels, mit der Ausnahme, dass sie jeden ClientState ausschließen würde,
den die Client-App angegeben hat, um mögliche Sicherheitsrisiken zu vermeiden.

Benachrichtigungen

Jede Benachrichtigung enthält die folgenden Eigenschaften, unabhängig von ihrem Typ:

  • ClientState-Header - Wird nur angezeigt, wenn der Client die Eigenschaft ClientState in der Abonnementanforderung angegeben hat. Wird vom Listener verwendet, um die Rechtmäßigkeit der Benachrichtigung zu überprüfen.
  • SubscriptionId - Identifiziert für die Client-App das Abonnement, zu dem diese Benachrichtigung gehört.
  • SubscriptionExpirationDateTime - Das Ablaufdatum und die Uhrzeit für das Abonnement.
  • SequenceNumber - Eine sequenzielle Zahl für eine Benachrichtigung, um der Client-Anwendung zu helfen, festzustellen, ob eine Benachrichtigung fehlt.
  • ChangeType - Die Arten von Ereignissen, bei denen die Client-App benachrichtigt werden möchte (z.B. ein Created-Ereignistyp beim Empfang einer E-Mail oder ein Update-Ereignistyp beim Lesen einer Nachricht).
  • Resource - Die URL des bestimmten Ressourcenelements, das überwacht wird (z.B. eine URL zu der geänderten Nachricht oder dem geänderten Ereignis).
  • ResourceData - Eine Benachrichtigung zu einer Ressourcenänderung (z.B. Empfangen, Lesen oder Löschen einer Nachricht) hat diese zusätzliche Eigenschaft, die die Ressourcen-ID des geänderten Elements enthält. Ein Client kann diese Ressourcen-ID verwenden, um dieses Element entsprechend seiner Geschäftslogik zu behandeln (z.B. dieses Element fetchen, seinen Ordner synchronisieren).

HINWEIS: Die Id-Eigenschaft wird nicht in Notification-Entitäten verwendet.

Benachrichtigungsnutzlast ändern

Im folgenden Beispiel sendet der Benachrichtigungsdienst, wenn der Benutzer ein neues Ereignis erhält, eine Benachrichtigung mit ChangeType auf "Erstellt". Der Header der Benachrichtigung würde den ClientState enthalten, wie in der anfänglichen Abonnementanforderung angegeben. Die Empfangsereignisbenachrichtigung hat eine ähnliche Nutzlast wie:

{
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.Notification",
            "Id": null,
            "SubscriptionId": "Mjk3QNERDQQ==",
            "SubscriptionExpirationDateTime": "2015-04-23T22:46:13.8805047Z",
            "SequenceNumber": 1,
            "ChangeType": "Created",
            "Resource" : "https://outlook.office.com/api/beta/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Events('AAMkADNkNmAA=')",
            "ResourceData": {
                "@odata.type": "#Microsoft.OutlookServices.Event",
                "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Events('AAMkADNkNmAA=')",
                "Id": "AAMkADNkNmAA="
            }
        }
    ]
}

Abruf von Instanz-Eigenschaften mithilfe von Abonnements von Rich-Benachrichtigungen

Wie im letzten Beispiel einer Änderung einer Benachrichtigungsnutzlast zu sehen ist, gibt ein Abonnement von Pushbenachrichtigungen, das für eine Ressourcensammlung eingerichtet wurde, nur die ID einer geänderten Ressourceninstanz zurück. Sie müssen die Eigenschaften dieser Instanz separat abrufen.

Sie können einen separaten GET-API-Aufruf speichern, wenn Sie einen Parameter $select in der Abonnementanforderung verwenden und die Eigenschaften angeben, die Sie interessieren. Das Folgende ist ein Beispiel, das eine Benachrichtigung anfordert, die die Eigenschaft Subject umfasst, wenn ein Ereignis erzeugt wurde:

POST https://outlook.office.com/api/beta/me/subscriptions HTTP/1.1
Content-Type: application/json

{
    "@odata.type":"#Microsoft.OutlookServices.PushSubscription",
    "Resource": "https://outlook.office.com/api/beta/me/events?$select=Subject",
    "NotificationURL": "https://mywebhook.azurewebsites.net/api/send/myRichNotifyClient",
    "ChangeType": "Created"
}

Beispiel für die Nutzlast einer Rich-Benachrichtigung

Eine Rich-Benachrichtigungsnutzlast enthält die Werte der in der Abonnementanforderung angegebenen Eigenschaften. Gemäß dem letzten Beispiel enthält eine Rich-Benachrichtigung eine Eigenschaft Subject, die ähnlich wie die folgende ist:

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Notifications",
    {
      "@odata.type": "#Microsoft.OutlookServices.Notification",
      "Id": null,
      "SubscriptionId": "QjQzNzAwBQQ==",
      "SubscriptionExpirationDateTime": "2017-01-18T00:57:28.6134733Z",
      "SequenceNumber": 1,
      "ChangeType": "Created",
      "Resource": "https://outlook.office.com/api/beta/Users('6ed6de00-b4c1-4f9b-8ce0-30908c54da0a@ea54488f-a8f6-4c8d-acad-c3a1da54f79f')/Events('AAMkAGAAAAACisAAA=')",
      "ResourceData": {
        "@odata.type": "#Microsoft.OutlookServices.Event",
        "@odata.id": "https://outlook.office.com/api/beta/Users('6ed6de00-b4c1-4f9b-8ce0-30908c54da0a@ea54488f-a8f6-4c8d-acad-c3a1da54f79f')/Events('AAMkAGAAAAACisAAA=')",
        "@odata.etag": "W/\"IpGjeMHoYUS/RhJxluiSeAAAAAAyoQ==\"",
        "Id": "AAMkAGAAAAACisAAA=",
        "Subject": "Quarterly meeting CY17Q1"
      }
    }
  ]
}

Abonnement-Prozess

Der Abonnement-Prozess läuft wie folgt ab:

  1. Eine Client-App stellt eine Abonnementanforderung (POST) für eine bestimmte Ressource. Sie enthält unter anderen Eigenschaften auch eine Benachrichtigungs-URL.

  2. Der Outlook-Benachrichtigungsdienst versucht, die Benachrichtigungs-URL mit dem Listener-Service zu validieren. Sie enthält ein Validierungstoken in der Validierungsanforderung.

  3. Wenn der Listener-Service die URL erfolgreich validiert, gibt er innerhalb von 5 Sekunden eine Erfolgsmeldung wie folgt zurück:

    • Setzt den Inhaltstyp im Antwortkopf auf  text\plain.
    • Enthält das gleiche Validierungstoken im Antwort-Text.
    • Gibt einen HTTP 200-Antwortcode zurück. Der Listener kann das Validierungstoken nachträglich verwerfen.
  4. Abhängig vom Ergebnis der URL-Validierung sendet der Outlook-Benachrichtigungsdienst eine Antwort an die Client-App:

    • Wenn die URL-Validierung erfolgreich war, legt der Dienst das Abonnement mit einer eindeutigen Abonnement-ID an und sendet die Antwort an den Client.
    • Wenn die URL-Validierung nicht erfolgreich war, sendet der Dienst eine Fehlerantwort mit einem Fehlercode und weiteren Details.
  5. Nach Erhalt einer erfolgreichen Antwort speichert die Client-App die Abonnement-ID, um zukünftige Benachrichtigungen mit diesem Abonnement zu korrelieren.

Abonnement-Anforderung

Abonniert einen Listener-Dienst, um Benachrichtigungen zu erhalten, wenn sich E-Mails, Kalenderereignisse, Kontakte oder Aufgaben in Office 365 oder Outlook.com ändern. Dies ist der erste Schritt für einen Client, um Benachrichtigungen für eine Ressource (eine Entität oder Entitätensammlung) abzurufen.

POST https://outlook.office.com/api/v2.0/me/subscriptions

Geben Sie im Anforderungstext die folgenden Eigenschaften für eine Push-Abonnement-Anforderung an. Bis auf ClientStatewerden alle Eigenschaften benötigt. Weitere Informationen finden Sie unter  Benachrichtigungsentitäten.

  • odata.type - Enthält "@odata.type":"#Microsoft.OutlookServices.PushSubscription". Die PushSubscription Entität definiert NotificationURL.
  • ChangeType  - Gibt die Art der zu überwachenden Ereignisse für diese Ressource an. Siehe ChangeType für die unterstützten Arten.
  • ClientState - Optionale Eigenschaft, die angibt, dass jede Benachrichtigung mit einem Header mit dem ClientState-Wert gesendet werden soll. So kann der Listener die Rechtmäßigkeit jeder Benachrichtigung überprüfen.
  • NotificationURL  - Gibt an, wohin Benachrichtigungen gesendet werden sollen. Diese URL stellt einen Webdienst dar, der typischerweise vom Client implementiert wird.
  • Ressource - - Ressource - Gibt die Ressource an, die überwacht werden und Benachrichtigungen erhalten soll. Sie können optionale Abfrageparameter verwenden, $filter, um die Bedingungen für eine Benachrichtigung verfeinern, oder $select, um spezifische Eigenschaften in eine umfangreiche Benachrichtigung aufzunehmen. Im Folgenden sind die unterstützten Ressourcen aufgeführt:

    • Ein normaler Ordner oder Suchordner für Nachrichten, Ereignisse, Kontakte oder Aufgaben. Als Beispiele dienen:

      https://outlook.office.com/api/v2.0/me/mailfolders('inbox')/messages

      https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')/tasks

    • Oder eine Entitätssammlung auf oberster Ebene mit Nachrichten, Ereignissen, Kontakten oder Aufgaben wie z.B.:

      https://outlook.office.com/api/v2.0/me/messages

      https://outlook.office.com/api/v2.0/me/events

      https://outlook.office.com/api/v2.0/me/contacts

      https://outlook.office.com/api/v2.0/me/tasks

Beispielanfrage

Das folgende Beispiel zeigt, wie Sie neue Ereignisse abonnieren können.

POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1
Content-Type: application/json

{
   "@odata.type":"#Microsoft.OutlookServices.PushSubscription",
   "Resource": "https://outlook.office.com/api/v2.0/me/events",
   "NotificationURL": "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",  
   "ChangeType": "Created",
   "ClientState": "c75831bd-fad3-4191-9a66-280a48528679"
}

Bedingungen für Benachrichtigung verfeinern

Mit dem Abfrageparameter $filter können Sie die Bedingungen für eine Meldung weiter verfeinern.

Das folgende Beispiel fordert eine Benachrichtigung für eine Nachricht an, die im Ordner "Entwürfe" erstellt wird und eine oder mehrere Anhänge enthält, wobei die Wichtigkeit  High ist:

POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1 
Content-Type: application/json 

{ 
  @odata.type:"#Microsoft.OutlookServices.PushSubscription", 
  Resource: "https://outlook.office.com/api/v2.0/me/mailfolders('Drafts')/messages?$filter=HasAttachments%20eq%20true%20AND%20Importance%20eq%20%27High%27", 
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient", 
  ChangeType: "Created", 
  ClientState: "Has attachments and high importance" 
} 

Das folgende Beispiel fordert eine Benachrichtigung für ein ganztägiges Ereignis an, das erstellt wird:

POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1 
Content-Type: application/json 

{ 
  @odata.type:"#Microsoft.OutlookServices.PushSubscription", 
  Resource: "https://outlook.office.com/api/v2.0/me/events?$filter=IsAllDay%20eq%20true", 
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient", 
  ChangeType: "Created", 
  ClientState: "Notifications for events that IsAllDay." 
} 

Das folgende Beispiel fordert eine Benachrichtigung für einen Kontakt, der mit dem Unternehmen being Contoso erstellt wird:

POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1 
Content-Type: application/json 

{ 
  @odata.type:"#Microsoft.OutlookServices.PushSubscription", 
  Resource: "https://outlook.office.com/api/v2.0/me/contacts?$filter=CompanyName%20eq%20%27Contoso%27", 
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient", 
  ChangeType: "Created", 
  ClientState: "Contacts in Contoso." 
} 

Eine häufige Anwendung von $filter ist die Benachrichtigung über eine Änderung einer bestimmten Eigenschaft der angegebenen Ressource. Sie können beispielsweise $filter verwenden, um ungelesene Nachrichten in einem Ordner zu abonnieren (die Eigenschaft IsRead ist falsch) und alle Änderungsarten einbeziehen:

  • Eine im Ordner hinzugefügte oder als ungelesen markierte Nachricht würde eine Created Benachrichtigung auslösen.
  • Das Lesen einer Nachricht oder das Markieren als gelesen im Ordner würde eine Deleted Benachrichtigung auslösen.
  • Eine Änderung einer beliebigen Eigenschaft, außer IsRead, einer Nachricht im Ordner würde eine Updated Benachrichtigung auslösen.

Sie können ein solches Abonnement wie folgt erstellen:

POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1
Content-Type: application/json

{
  @odata.type:"#Microsoft.OutlookServices.PushSubscription",
  Resource: "https://outlook.office.com/api/v2.0/me/mailfolders('folder_id')/messages$filter=IsRead%20eq%20false",
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",
  ChangeType: "Created,Deleted,Updated",
  ClientState: "Message unread"
}

Wenn Sie beim Erstellen des Abonnements keine $filter verwenden (wie unten):

  • Das Hinzufügen einer Nachricht zum Ordner würde zu einer Created Benachrichtigung führen.
  • Das Lesen einer Nachricht im Ordner, das Markieren der Nachricht als gelesen oder das Ändern anderer Nachrichteneigenschaften in diesem Ordner würde zu einer Updated Benachrichtigung führen.
  • Das Löschen der Nachricht würde zu einer Delete Benachrichtigung führen.
POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1
Content-Type: application/json

{
  @odata.type:"#Microsoft.OutlookServices.PushSubscription",
  Resource: "https://outlook.office.com/api/v2.0/me/mailfolders('folder_id')/messages,
  NotificationURL: "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",
  ChangeType: "Created,Deleted,Updated",
  ClientState: "Message unread"
}

Validierungsanforderung

Die Validierungsanforderung versucht, die NotificationURL zu validieren, die eine Client-App in einer Abonnementanforderung angibt:

POST https://{notificationUrl}?validationToken={token}

Der Outlook-Dienst gibt die NotificationURL in der Abbonementanforderung in {notificationUrl} an und definiert eine Zeichenfolge {token} als Validierungstoken. Der Outlook-Dienst enthält auch einen ClientState-Header, wenn die Client-App einen in der Abonnement-Anfrage enthält.

Abonnement-Antwort

Die Abbonement-Antwort enthält die Eigenschaften in der Anforderung und die folgenden zusätzlichen Eigenschaften:

  • Id - Die eindeutige Abonnement-ID, die die Client-App speichern sollte, um sie mit zukünftigen Benachrichtigungen abzugleichen.
  • ChangeType - Die Antwort enthält neben den in der Anforderung angegebenen Werten den zusätzlichen Benachrichtigungstyp Missed.
  • SubscriptionExpirationDateTime - Datum und Uhrzeit des Ablaufs des Abonnements. Wenn die Abonnementanforderung keine Verfallszeit angibt oder wenn die Anforderung eine Verfallszeit angibt, die länger als die maximal erlaubte ist, wird diese Eigenschaft ab dem Zeitpunkt des Sendens der Anforderung auf die maximal erlaubte Länge gesetzt. Für ein Abonnement, das umfangreiche Benachrichtigungen über bestimmte Eigenschaften anfordert, ist maximal 1 Tag erlaubt. Für andere Abonnements beträgt das Maximum 7 Tage.
  • Andere OData-bezogene Eigenschaften.

Daten der Beispielantwort

Diese Antwort zeigt an, dass der Listener-Dienst Benachrichtigungen über neue Ereignisse und verpasste Änderungen erwarten sollte. Wenn es verpasste Änderungen gibt, muss sich der Client mit dem Dienst synchronisieren, um sie zu erfassen.

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Subscriptions/$entity",
    "@odata.type": "#Microsoft.OutlookServices.PushSubscription",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Subscriptions('Mjk3QNERDQQ==')",
    "Id": "Mjk3QNERDQQ==",
    "Resource": "https://outlook.office.com/api/v2.0/me/events",
    "ChangeType": "Created, Missed",
    "ClientState": "c75831bd-fad3-4191-9a66-280a48528679",
    "NotificationURL": "https://mywebhook.azurewebsites.net/api/send/myNotifyClient",
    "SubscriptionExpirationDateTime": "2015-04-23T22:46:13.8805047Z"
}

Abonnement abfragen Sie können Details zu allen bestehenden Abonnements des angemeldeten Benutzers finden, indem Sie dessen Abonnement-ID angeben. Als Beispiel, um das im letzten Beispiel angelegte Abonnement abzufragen:

GET https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Subscriptions('Mjk3QNERDQQ==')

Im Erfolgsfall wäre die Antwort die gleiche wie die letzten Antwortdaten des Beispiels, mit der Ausnahme, dass sie jeden ClientState ausschließen würde,
den die Client-App angegeben hat, um mögliche Sicherheitsrisiken zu vermeiden.

Benachrichtigungen

Jede Benachrichtigung enthält die folgenden Eigenschaften, unabhängig von ihrem Typ:

  • ClientState-Header - Wird nur angezeigt, wenn der Client die Eigenschaft ClientState in der Abonnementanforderung angegeben hat. Wird vom Listener verwendet, um die Rechtmäßigkeit der Benachrichtigung zu überprüfen.
  • SubscriptionId - Identifiziert für die Client-App das Abonnement, zu dem diese Benachrichtigung gehört.
  • SubscriptionExpirationDateTime - Das Ablaufdatum und die Uhrzeit für das Abonnement.
  • SequenceNumber - Eine sequenzielle Zahl für eine Benachrichtigung, um der Client-Anwendung zu helfen, festzustellen, ob eine Benachrichtigung fehlt.
  • ChangeType - Die Arten von Ereignissen, bei denen die Client-App benachrichtigt werden möchte (z.B. ein Created-Ereignistyp beim Empfang einer E-Mail oder ein Update-Ereignistyp beim Lesen einer Nachricht).
  • Resource - Die URL des bestimmten Ressourcenelements, das überwacht wird (z.B. eine URL zu der geänderten Nachricht oder dem geänderten Ereignis).
  • ResourceData - Eine Benachrichtigung zu einer Ressourcenänderung (z.B. Empfangen, Lesen oder Löschen einer Nachricht) hat diese zusätzliche Eigenschaft, die die Ressourcen-ID des geänderten Elements enthält. Ein Client kann diese Ressourcen-ID verwenden, um dieses Element entsprechend seiner Geschäftslogik zu behandeln (z.B. dieses Element fetchen, seinen Ordner synchronisieren).

HINWEIS: Die Id-Eigenschaft wird nicht in Notification-Entitäten verwendet.

Benachrichtigungsnutzlast ändern

Im folgenden Beispiel sendet der Benachrichtigungsdienst, wenn der Benutzer ein neues Ereignis erhält, eine Benachrichtigung mit ChangeType auf "Erstellt". Der Header der Benachrichtigung würde den ClientState enthalten, wie in der anfänglichen Abonnementanforderung angegeben. Die Empfangsereignisbenachrichtigung hat eine ähnliche Nutzlast wie:

{
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.Notification",
            "Id": null,
            "SubscriptionId": "Mjk3QNERDQQ==",
            "SubscriptionExpirationDateTime": "2015-04-23T22:46:13.8805047Z",
            "SequenceNumber": 1,
            "ChangeType": "Created",
            "Resource" : "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Events('AAMkADNkNmAA=')",
            "ResourceData": {
                "@odata.type": "#Microsoft.OutlookServices.Event",
                "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/Events('AAMkADNkNmAA=')",
                "Id": "AAMkADNkNmAA="
            }
        }
    ]
}

Abruf von Instanz-Eigenschaften mithilfe von Abonnements von Rich-Benachrichtigungen

Wie im letzten Beispiel einer Änderung einer Benachrichtigungsnutzlast zu sehen ist, gibt ein Abonnement von Pushbenachrichtigungen, das für eine Ressourcensammlung eingerichtet wurde, nur die ID einer geänderten Ressourceninstanz zurück. Sie müssen die Eigenschaften dieser Instanz separat abrufen.

Sie können einen separaten GET-API-Aufruf speichern, wenn Sie einen Parameter $select in der Abonnementanforderung verwenden und die Eigenschaften angeben, die Sie interessieren. Das Folgende ist ein Beispiel, das eine Benachrichtigung anfordert, die die Eigenschaft Subject umfasst, wenn ein Ereignis erzeugt wurde:

POST https://outlook.office.com/api/v2.0/me/subscriptions HTTP/1.1
Content-Type: application/json

{
    "@odata.type":"#Microsoft.OutlookServices.PushSubscription",
    "Resource": "https://outlook.office.com/api/v2.0/me/events?$select=Subject",
    "NotificationURL": "https://mywebhook.azurewebsites.net/api/send/myRichNotifyClient",
    "ChangeType": "Created"
}

Beispiel für die Nutzlast einer Rich-Benachrichtigung

Eine Rich-Benachrichtigungsnutzlast enthält die Werte der in der Abonnementanforderung angegebenen Eigenschaften. Gemäß dem letzten Beispiel enthält eine Rich-Benachrichtigung eine Eigenschaft Subject, die ähnlich wie die folgende ist:

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Notifications",
    {
      "@odata.type": "#Microsoft.OutlookServices.Notification",
      "Id": null,
      "SubscriptionId": "QjQzNzAwBQQ==",
      "SubscriptionExpirationDateTime": "2017-01-18T00:57:28.6134733Z",
      "SequenceNumber": 1,
      "ChangeType": "Created",
      "Resource": "https://outlook.office.com/api/v2.0/Users('6ed6de00-b4c1-4f9b-8ce0-30908c54da0a@ea54488f-a8f6-4c8d-acad-c3a1da54f79f')/Events('AAMkAGAAAAACisAAA=')",
      "ResourceData": {
        "@odata.type": "#Microsoft.OutlookServices.Event",
        "@odata.id": "https://outlook.office.com/api/v2.0/Users('6ed6de00-b4c1-4f9b-8ce0-30908c54da0a@ea54488f-a8f6-4c8d-acad-c3a1da54f79f')/Events('AAMkAGAAAAACisAAA=')",
        "@odata.etag": "W/\"IpGjeMHoYUS/RhJxluiSeAAAAAAyoQ==\"",
        "Id": "AAMkAGAAAAACisAAA=",
        "Subject": "Quarterly meeting CY17Q1"
      }
    }
  ]
}

Abonnement erneuern

Erneuern Sie ein Abonnement bis zur maximalen Länge ab dem Zeitpunkt der Verlängerungsanforderung.

PATCH https://outlook.office.com/api/beta/me/subscriptions/{subscriptionId}

Die Standard-Abonnementdauer beträgt 7 Tage für Abonnementanforderungen, die keine spezifischen Instanz-Eigenschaften in der Antwort erfordern und 1 Tag für Abonnements von Rich-Benachrichtigungen.

Sie können die Erneuerungsanforderung ohne Nutzlast absenden und das Abonnement wird um die entsprechende maximale Laufzeit verlängert.

Beispielanfrage

PATCH https://outlook.office.com/api/beta/me/subscriptions/Mjk3QNERDQQ==

{
   @odata.type:"#Microsoft.OutlookServices.PushSubscription",
   "SubscriptionExpirationDateTime": "2015-05-28T17:17:45.9028722Z"
}

Eine erfolgreiche Antwort wird mit einem HTTP-200-Antwortcode angegeben.

Erneuern Sie ein Abonnement bis zur maximalen Länge ab dem Zeitpunkt der Verlängerungsanforderung.

PATCH https://outlook.office.com/api/v2.0/me/subscriptions/{subscriptionId}

Die Standard-Abonnementdauer beträgt 7 Tage für Abonnementanforderungen, die keine spezifischen Instanz-Eigenschaften in der Antwort erfordern und 1 Tag für Abonnements von Rich-Benachrichtigungen.

Sie können die Erneuerungsanforderung ohne Nutzlast absenden und das Abonnement wird um die entsprechende maximale Laufzeit verlängert.

Beispielanfrage

PATCH https://outlook.office.com/api/v2.0/me/subscriptions/Mjk3QNERDQQ==

{
   @odata.type:"#Microsoft.OutlookServices.PushSubscription",
   "SubscriptionExpirationDateTime": "2015-05-28T17:17:45.9028722Z"
}

Eine erfolgreiche Antwort wird mit einem HTTP-200-Antwortcode angegeben.

Abonnement löschen

Löschen Sie ein Abonnement, indem Sie die Abonnement-ID angeben.

DELETE https://outlook.office.com/api/beta/me/subscriptions('{subscriptionId}')

Beispielanfrage

Delete https://outlook.office.com/api/beta/me/subscriptions('Mjk3QNERDQQ==')

Eine erfolgreiche Antwort wird mit einemHTTP 204 No Content-Antwortcode angegeben.

Löschen Sie ein Abonnement, indem Sie die Abonnement-ID angeben.

DELETE https://outlook.office.com/api/v2.0/me/subscriptions('{subscriptionId}')

Beispielanfrage

Delete https://outlook.office.com/api/v2.0/me/subscriptions('Mjk3QNERDQQ==')

Eine erfolgreiche Antwort wird mit einemHTTP 204 No Content-Antwortcode angegeben.

Benachrichtigungs-API-Entitäten und Aufzählungen

Abonnement

Stellt das Basisabonnement dar. Dies ist eine abstrakte Basisklasse.

Basistyp: Entität

EigenschaftTypBeschreibungBeschreibbar?Filterbar?
RessourceStringGibt die Ressource an, die auf Änderungen überwacht wird.JaN/V
ChangeTypeChangeTypeGibt die Art der Ereignisse an, die eine Benachrichtigung auslösen werden. Siehe ChangeType für die unterstützten Arten.JaN/V

Stellt das Basisabonnement dar. Dies ist eine abstrakte Basisklasse.

Basistyp: Entität

EigenschaftTypBeschreibungBeschreibbar?Filterbar?
RessourceStringGibt die Ressource an, die auf Änderungen überwacht wird.JaN/V
ChangeTypeChangeTypeGibt die Art der Ereignisse an, die eine Benachrichtigung auslösen werden. Siehe ChangeType für die unterstützten Arten.JaN/V

Benachrichtigung

Stellt eine an den Client gesendete Benachrichtigung dar. Bei Pushbenachrichtigungen wird die Benachrichtigung an den vom Client angegebenen Listener-Dienst gesendet.

Basistyp: Entität

EigenschaftTypBeschreibungBeschreibbar?Filterbar?
SubscriptionIdStringEindeutige ID für das Abonnement.NeinNein
SubscriptionExpirationDateTimeEdm.DateTimeOffsetGibt Datum und Uhrzeit für das Ablaufen des Benachrichtigungen-Abonnements an. Die Zeit ist in UTC.JaN/V
SequenceNumberint32Gibt den Sequenzwert der Änderungs-Benachrichtigung an.Neinn/v
ChangeTypeChangeTypeGibt die Art des Ereignisses an, das die Benachrichtigung ausgelöst hat. Die Aufzählungswerte sind: Erstellt=1, Aktualisiert=2, Gelöscht=4, Verpasst=16. Eine Benachrichtigung für verpasste Ereignisse erfolgt, wenn der Benachrichtigungsdienst die angeforderte Benachrichtigung nicht senden kann.Neinn/v
RessourceStringGibt das Ressourcenelement an, das auf Änderungen überwacht wird.JaN/V
ResourceDataEntitätIdentifiziert die Entität, die sich geändert hat. Dies ist eine Navigationseigenschaft.Neinn/v

Stellt eine an den Client gesendete Benachrichtigung dar. Bei Pushbenachrichtigungen wird die Benachrichtigung an den vom Client angegebenen Listener-Dienst gesendet.

Basistyp: Entität

EigenschaftTypBeschreibungBeschreibbar?Filterbar?
SubscriptionIdStringEindeutige ID für das Abonnement.NeinNein
SubscriptionExpirationDateTimeEdm.DateTimeOffsetGibt Datum und Uhrzeit für das Ablaufen des Benachrichtigungen-Abonnements an. Die Zeit ist in UTC.JaN/V
SequenceNumberint32Gibt den Sequenzwert der Änderungs-Benachrichtigung an.Neinn/v
ChangeTypeChangeTypeGibt die Art des Ereignisses an, das die Benachrichtigung ausgelöst hat. Die Aufzählungswerte sind: Erstellt=1, Aktualisiert=2, Gelöscht=4, Verpasst=16. Eine Benachrichtigung für verpasste Ereignisse erfolgt, wenn der Benachrichtigungsdienst die angeforderte Benachrichtigung nicht senden kann.Neinn/v
RessourceStringGibt das Ressourcenelement an, das auf Änderungen überwacht wird.JaN/V
ResourceDataEntitätIdentifiziert die Entität, die sich geändert hat. Dies ist eine Navigationseigenschaft.Neinn/v

PushSubscription

Stellt ein Abonnement dar, das den Pushbenachrichtigungs-Mechanismus verwendet.

Basistyp: Abonnement

EigenschaftTypBeschreibungBeschreibbar?Filterbar?
NotificationURLStringDie URL der Anwendung, die die Pushbenachrichtigungen erhält.JaN/V
SubscriptionExpirationDateTimeEdm.DateTimeOffsetGibt Datum und Uhrzeit für das Ablaufen des Benachrichtigungen-Abonnements an. Die Zeit ist in UTC.JaN/V
ClientStateStringGibt den Wert des ClientState-Headers an, der vom Dienst für jede Benachrichtigung gesendet wird. Die maximale Länge ist 255 Zeichen. Der Client kann überprüfen, ob die Benachrichtigung vom Dienst kam, indem er den auf der ClientState-Eigenschaft eingestellten Wert mit dem Wert des ClientState-Headers vergleicht, der bei jeder Benachrichtigung empfangen wurde.JaNein

Stellt ein Abonnement dar, das den Pushbenachrichtigungs-Mechanismus verwendet.

Basistyp: Abonnement

EigenschaftTypBeschreibungBeschreibbar?Filterbar?
NotificationURLStringDie URL der Anwendung, die die Pushbenachrichtigungen erhält.JaN/V
SubscriptionExpirationDateTimeEdm.DateTimeOffsetGibt Datum und Uhrzeit für das Ablaufen des Benachrichtigungen-Abonnements an. Die Zeit ist in UTC.JaN/V
ClientStateStringGibt den Wert des ClientState-Headers an, der vom Dienst für jede Benachrichtigung gesendet wird. Die maximale Länge ist 255 Zeichen. Der Client kann überprüfen, ob die Benachrichtigung vom Dienst kam, indem er den auf der ClientState-Eigenschaft eingestellten Wert mit dem Wert des ClientState-Headers vergleicht, der bei jeder Benachrichtigung empfangen wurde.JaNein

<a "name"="ChangeType">

ChangeType

Eine Aufzählung, die die Arten von Ereignissen angibt, die bei unterstützten Ressourcen auftreten, die eine Benachrichtigung auslösen können.

Unterstützte Werte:

  • Anerkennung
  • Erstellt
  • Gelöscht
  • Entgangen. Eine Missed Benachrichtigung erfolgt, wenn der Benachrichtigungsdienst die angeforderte Benachrichtigung nicht senden kann.
  • Aktualisiert

Eine Aufzählung, die die Arten von Ereignissen angibt, die bei unterstützten Ressourcen auftreten, die eine Benachrichtigung auslösen können.

Unterstützte Werte:

  • Anerkennung
  • Erstellt
  • Gelöscht
  • Entgangen. Eine Missed Benachrichtigung erfolgt, wenn der Benachrichtigungsdienst die angeforderte Benachrichtigung nicht senden kann.
  • Aktualisiert

Nächste Schritte

Egal, ob Sie bereit sind, eine App zu erstellen oder einfach nur mehr darüber erfahren möchten, wir haben alles im Griff.

Oder erfahren Sie mehr über die Verwendung der Office 365-Plattform:

Egal, ob Sie bereit sind, eine App zu erstellen oder einfach nur mehr darüber erfahren möchten, wir haben alles im Griff.

Oder erfahren Sie mehr über die Verwendung der Office 365-Plattform:

© 2018 Microsoft