Benachrichtigung erstellen und senden

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen und senden Sie eine 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.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. 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.
Application Nicht unterstützt Nicht unterstützt

HTTP-Anforderung

POST /me/notifications/

Anforderungsheader

Name Beschreibung
Authorization Der Autorisierungsheader wird verwendet, um die Anmeldeinformationen des Anrufers 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 bestimmten 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 diese Methode einen 201 Created Antwortcode zurück, der angibt, dass die Benachrichtigung erfolgreich erstellt und gespeichert wurde. Die Benachrichtigung wird dann auf 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 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 auf der Liste blockierter Elemente.
HttpStatusCode.MethodNotAllowed Die verwendete HTTP-Methode wird nicht unterstützt.
HttpStatusCode.BadRequest In der Anforderung sind nicht unterstützte Header vorhanden. Zwei Header werden nicht unterstützt:

if-modified-since
If-Range
HttpStatusCode.UnsupportedMediaType Der Header Content-Encoding ist vorhanden und hat 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 erfolgreich erstellt.
HttpStatusCode.NotAcceptable 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

Das folgende Beispiel zeigt 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!"
        }
    }
}