Erstellen und Senden einer Benachrichtigung (veraltet)

Namespace: microsoft.graph

Wichtig

Die Microsoft Graph-Benachrichtigungs-API ist veraltet und beendet die Rückgabe von Daten bis Ende Januar 2022. Eine alternative Benachrichtigungsoberfläche finden Sie unter Microsoft Azure Notification Hubs,und weitere Informationen finden Sie in diesem Blogbeitrag.

Erstellen und Senden einer Benachrichtigung für einen Benutzer über Microsoft Graph. Die Benachrichtigung wird im Microsoft Graph Benachrichtigungsfeedspeicher gespeichert und an alle App-Clients auf allen Geräteendpunkten gesendet, bei denen der Benutzer angemeldet ist.

Berechtigungen

Ihr Anwendungsdienst erfordert keine zusätzlichen Berechtigungen zum Posten von Benachrichtigungen an den Zielbenutzer.

Wichtig

Wenn Sie stattdessen Benachrichtigungen im Namen eines Benutzers über delegierte Berechtigungen veröffentlichen möchten, ist eine der folgenden Berechtigungen erforderlich, um diese API aufzurufen. Wir empfehlen diese Option nicht zum Erstellen von Benachrichtigungen. Weitere Informationen, einschließlich der Auswahl von Berechtigungen, finden Sie unter "Berechtigungen".

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) Notifications.ReadWrite.CreatedByApp
Delegiert (persönliches Microsoft-Konto) Notifications.ReadWrite.CreatedByApp
Anwendung Nicht unterstützt

HTTP-Anforderung

POST /me/notifications/

Anforderungsheader

Name Beschreibung
Authorization Der Autorisierungsheader wird verwendet, um die Anmeldeinformationen der aufrufenden Partei zu übergeben. Bearer {token}. Erforderlich.
X-UNS-ID The UserNotificationSubscriptionId that is returned by the Microsoft Graph notification service after creating a subscription and is used to target the specific user. Erforderlich.
Content-type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung eines Benachrichtigungsobjekts an.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen Antwortcode zurück, 201 Created der angibt, dass die Benachrichtigung erfolgreich erstellt und gespeichert wurde. Die Benachrichtigung wird anschließend an alle angegebenen Endpunkte mit einem gültigen Abonnement gefächert.

In der folgenden Tabelle sind die möglichen Fehler- und Antwortcodes aufgeführt, die zurückgegeben werden können.

Fehlercode Descrition
HttpStatusCode.BadRequest Der Textkörper ist ein Array (mehrere Benachrichtigungen werden nicht unterstützt).
HttpStatusCode.BadRequest Der Textkörper stimmt nicht mit dem Vertrag für die API überein.
HttpStatusCode.Forbidden Der Anrufer befindet sich in der Blockierten Liste.
HttpStatusCode.MethodNotAllowed Die verwendete HTTP-Methode wird nicht unterstützt.
HttpStatusCode.BadRequest Nicht unterstützte Header sind in der Anforderung vorhanden. Zwei Header werden nicht unterstützt:

If-Modified-Since
If-Range
HttpStatusCode.UnsupportedMediaType Die Header-Inhaltscodierung ist vorhanden und enthält andere Komprimierungsalgorithmuswerte als Deflate oder Gzip .
HttpStatusCode.BadRequest Ungültige Nutzlast.
HttpStatusCode.Forbidden Der Anrufer ist nicht berechtigt, im Namen des Benutzers zu handeln oder eine Benachrichtigung an den Benutzer zu senden.
HttpStatusCode.Unauthorized Der Anforderungstext enthält ungültige Aktivitätsdatentypen.
HttpStatusCode.OK Aktivität wurde erfolgreich erstellt.
HttpStatusCode.NotAcceptable Die Anforderung wurde gedrosselt, oder der Server ist ausgelastet.

Beispiel

Anforderung

Nachfolgend ist ein Beispiel für eine Anforderung dargestellt.

POST https://graph.microsoft.com/beta/me/notifications/
Content-type: application/json

{
    "targetHostName": "graphnotifications.sample.windows.com",
    "appNotificationId": "testDirectToastNotification",
    "expirationDateTime": "2019-10-30T23:59:00.000Z",
    "payload": {
        "visualContent": {
            "title": "Hello World!",
            "body": "Notifications are Great!"
        }
    },
    "targetPolicy": {
        "platformTypes": [
    "windows",
    "ios",
    "android"
        ]
    },
    "priority": "High",
    "groupName": "TestGroup",
    "displayTimeToLive": "60"
}

Antwort

Es folgt ein Beispiel für die entsprechende Antwort.

HTTP/1.1 201
client-request-id: 71e62feb-8d72-4912-8b2c-4cee9d89e781
content-length: 356
content-type: application/json
location: https://graph.microsoft.com/beta/me/activities/119081f2-f19d-4fa8-817c-7e01092c0f7d
request-id: 71e62feb-8d72-4912-8b2c-4cee9d89e781

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('graphnotify%40contoso.com')/notifications/$entity",
    "displayTimeToLive": 59,
    "expirationDateTime": "2019-10-28T22:05:36.25Z",
    "groupName": "TestGroup",
    "id": "119081f2-f19d-4fa8-817c-7e01092c0f7d",
    "priority": "High",
    "payload": {
        "visualContent": {
            "title": "Hello World!",
            "body": "Notifications are Great!"
        }
    }
}