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!"
}
}
}
Feedback
Feedback senden und anzeigen für