Erstellen und Senden einer Benachrichtigung (veraltet)

Namespace: microsoft.graph

Wichtig

Die Microsoft Graph-Benachrichtigungs-API ist veraltet und wird ab Ende Januar 2022 keine Daten mehr zurückgeben. Eine alternative Benachrichtigungserfahrung finden Sie im Microsoft Azure Notification Hubs, und lesen Sie diesen Blogbeitrag für weitere Informationen.

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.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Notifications.ReadWrite.CreatedByApp Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Notifications.ReadWrite.CreatedByApp Nicht verfügbar.
Anwendung Nicht unterstützt Nicht unterstützt

HTTP-Anforderung

POST /me/notifications/

Anforderungsheader

Name Beschreibung
Authorization Der Autorisierungsheader wird verwendet, um die Anmeldeinformationen des Aufrufers zu übergeben. Bearer {token}. Erforderlich.
X-UNS-ID Die UserNotificationSubscriptionId, die vom Microsoft Graph-Benachrichtigungsdienst nach dem Erstellen eines Abonnements zurückgegeben wird und für den spezifischen Benutzer verwendet wird. 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 201 Created Antwortcode zurück, der angibt, dass die Benachrichtigung erfolgreich erstellt und gespeichert wurde. Die Benachrichtigung wird später an alle angegebenen Endpunkte mit einem gültigen Abonnement aufgefächert.

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

Fehlercode Beschreibung
HttpStatusCode.BadRequest Body ist ein Array (mehrere Benachrichtigungen werden nicht unterstützt).
HttpStatusCode.BadRequest Der Text stimmt nicht mit dem Vertrag für die API überein.
HttpStatusCode.Forbidden Der Aufrufer befindet sich in der Liste der Blockierten.
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 Der Header Content-Encoding ist vorhanden und weist andere Komprimierungsalgorithmuswerte als Deflate oder auf Gzip.
HttpStatusCode.BadRequest Ungültige Nutzlast.
HttpStatusCode.Forbidden Der Aufrufer ist nicht berechtigt, im Namen des Benutzers zu handeln oder Benachrichtigungen an den Benutzer zu senden.
HttpStatusCode.Unauthorized Der Anforderungstext enthält ungültige Aktivitätsdatentypen.
HttpStatusCode.OK Die Aktivität wurde erfolgreich erstellt.
HttpStatusCode.NotAcceptable Die Anforderung wurde gedrosselt, oder der Server ist ausgelastet.

Beispiel

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Hier sehen Sie 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!"
        }
    }
}