Abonnement aktualisieren
Namespace: microsoft.graph
Wichtig
APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .
Achtung
Vorhandene Apps, die dieses Feature mit baseTask oder baseTaskList verwenden, sollten aktualisiert werden, da der auf diesen Ressourcen basierende Aufgaben-API-Satz ab dem 31. Mai 2022 veraltet ist. Dieser API-Satz wird ab dem 31. August 2022 keine Daten mehr zurückgeben. Verwenden Sie den API-Satz, der auf todoTask basiert.
Erneuert ein Abonnement durch Verlängern seiner Ablaufzeit.
In der Tabelle im Abschnitt "Berechtigungen" sind die Ressourcen aufgeführt, die das Abonnieren von Änderungsbenachrichtigungen unterstützen.
Abonnements laufen nach einer Zeitdauer ab, die je nach Ressourcentyp variiert. Um fehlende Änderungsbenachrichtigungen zu vermeiden, sollte eine App ihre Abonnements rechtzeitig vor dem Ablaufdatum verlängern. Eine maximale Länge eines Abonnements für jeden Ressourcentyp finden Sie unter "Abonnement ".
Berechtigungen
Abhängig von der Ressource und dem angeforderten Berechtigungstyp (delegiert oder Anwendung) ist die in der folgenden Tabelle angegebene Berechtigung die niedrigste Berechtigung, die zum Aufrufen dieser API erforderlich ist. Um mehr zu erfahren und vor der Wahl weiterer privilegierterer Berechtigungen mit Umsicht vorzugehen, suchen Sie unter Berechtigungen nach den folgenden Berechtigungen.
| Unterstützte Ressource | Delegiert (Geschäfts-, Schul- oder Unikonto) | Delegiert (persönliches Microsoft-Konto) | Anwendung |
|---|---|---|---|
| baseTask (veraltet) | Tasks.ReadWrite | Tasks.ReadWrite | Nicht unterstützt |
| callRecord | Nicht unterstützt | Nicht unterstützt | CallRecords.Read.All |
| Kanal (/teams/getAllChannels – alle Kanäle in einer Organisation) | Nicht unterstützt | Nicht unterstützt | Channel.ReadBasic.All, ChannelSettings.Read.All |
| Kanal (/teams/{id}/channels) | Channel.ReadBasic.All, ChannelSettings.Read.All | Nicht unterstützt | Channel.ReadBasic.All, ChannelSettings.Read.All |
| chat (/Chats – alle Chats in einer Organisation) | Nicht unterstützt | Nicht unterstützt | Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
| chat (/chats/{id}) | Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Nicht unterstützt | ChatSettings.Read.Chat , ChatSettings.ReadWrite.Chat, Chat.Manage.Chat*, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
| ChatMessage (/Teams/{ID}/Channels/{ID}/Messages) | ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All | Nicht unterstützt | ChannelMessage.Read.Group*, ChannelMessage.Read.All |
| ChatMessage (/Teams/getAllMessages – alle Kanalnachrichten in der Organisation) | Nicht unterstützt | Nicht unterstützt | ChannelMessage.Read.All |
| ChatMessage (/Chats/{id}/Messages) | Chat.Read, Chat.ReadWrite | Nicht unterstützt | Chat.Read.All |
| ChatMessage (/Chats/getAllMessages – Alle Chatnachrichten in der Organisation) | Nicht unterstützt | Nicht unterstützt | Chat.Read.All |
| chatMessage (/users/{id}/chats/getAllMessages –- Chatnachrichten für alle Chats, an denen ein bestimmter Benutzer beteiligt ist) | Chat.Read, Chat.ReadWrite | Nicht unterstützt | Chat.Read.All, Chat.ReadWrite.All |
| contact | Contacts.Read | Contacts.Read | Contacts.Read |
| conversationMember (/chats/getAllMembers) | Nicht unterstützt | Nicht unterstützt | ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
| conversationMember (/chats/{id}/members) | ChatMember.Read, ChatMember.ReadWrite, Chat.ReadBasic, Chat.Read, Chat.ReadWrite | Nicht unterstützt | ChatMember.Read.Chat , Chat.Manage.Chat, ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
| conversationMember (/teams/getAllMembers) | Nicht unterstützt | Nicht unterstützt | TeamMember.Read.All, TeamMember.ReadWrite.All |
| conversationMember (/teams/{id}/members) | TeamMember.Read.All | Nicht unterstützt | TeamMember.Read.All |
| conversationMember (/teams/{id}/channels/getAllMembers) | Nicht unterstützt | Nicht unterstützt | ChannelMember.Read.All |
| driveItem (persönliche OneDrive-Umgebung eines Benutzers) | Nicht unterstützt | Files.ReadWrite | Nicht unterstützt |
| driveItem (OneDrive for Business) | Files.ReadWrite.All | Nicht unterstützt | Files.ReadWrite.All |
| event | Calendars.Read | Calendars.Read | Calendars.Read |
| group | Group.Read.All | Nicht unterstützt | Group.Read.All |
| group conversation | Group.Read.All | Nicht unterstützt | Nicht unterstützt |
| list | Sites.ReadWrite.All | Nicht unterstützt | Sites.ReadWrite.All |
| message | Mail.ReadBasic, Mail.Read | Mail.ReadBasic, Mail.Read | Mail.Read |
| Onlinebesprechung | Nicht unterstützt | Nicht unterstützt | OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All |
| presence | Presence.Read.All | Nicht unterstützt | Nicht unterstützt |
| Drucker | Nicht unterstützt | Nicht unterstützt | Printer.Read.All, Printer.ReadWrite.All |
| printTaskDefinition | Nicht unterstützt | Nicht unterstützt | PrintTaskDefinition.ReadWrite.All |
| security alert | SecurityEvents.ReadWrite.All | Nicht unterstützt | SecurityEvents.ReadWrite.All |
| Team (/teams – alle Teams in einer Organisation) | Nicht unterstützt | Nicht unterstützt | Team.ReadBasic.All, TeamSettings.Read.All |
| Team (/teams/{id}) | Team.ReadBasic.All, TeamSettings.Read.All | Nicht unterstützt | Team.ReadBasic.All, TeamSettings.Read.All |
| todoTask | Tasks.ReadWrite | Tasks.ReadWrite | Nicht unterstützt |
| user | User.Read.All | User.Read.All | User.Read.All |
Hinweis: Mit * markierte Berechtigungen verwenden ressourcenspezifische Zustimmung.
ChatMessage
chatMessage-Abonnements können angegeben werden, um Ressourcendaten einzuschließen. Wenn angegeben wird, dass Ressourcendaten eingeschlossen werden sollen (includeResourceData festgelegt auf true), ist eine Verschlüsselung erforderlich. Die Abonnementerstellung schlägt fehl, wenn für solche Abonnements kein encryptionCertificate angegeben ist. Bevor Sie ein chatMessage-Abonnement mit Anwendungsberechtigungen erstellen können, müssen Sie möglicherweise Zugriff anfordern. Detaillierte Informationen finden Sie unter Geschützte APIs in Microsoft Teams.
Sie müssen den Prefer: include-unknown-enum-members Anforderungsheader verwenden, um die folgenden Werte in chatMessage****messageTypeevolvable enumabzurufen: systemEventMessage für /teams/{id}/channels/{id}/messages und /chats/{id}/messages Ressource.
Hinweis
/teams/getAllMessages, /chats/getAllMessages, /me/chats/getAllMessages und /users/{id}/chats/getAllMessages haben Lizenz- und Zahlungsanforderungen.
/teams/getAllMessages und /chats/getAllMessages unterstützen sowohl model=A- als auch model=B-Abfrageparameter, /me/chats/getAllMessages und /users/{id}/chats/getAllMessages unterstützen nur model=B.
Wenn kein Modell angegeben ist, wird der Auswertungsmodus verwendet.
conversationMember
conversationMember-Abonnements können angegeben werden, um Ressourcendaten einzuschließen. Wenn angegeben wird, dass Ressourcendaten eingeschlossen werden sollen (includeResourceData festgelegt auf true), ist eine Verschlüsselung erforderlich. Die Abonnementerstellung schlägt fehl, wenn kein encryptionCertificate angegeben ist.
Hinweis
/teams/getAllMembers und /chats/getAllMembers haben Lizenz- und Zahlungsanforderungen.
/teams/getAllMembers und /chats/getAllMembers unterstützen sowohl model=A als auch model=B Abfrageparameter.
Wenn kein Modell angegeben ist, wird der Auswertungsmodus verwendet.
Team, Kanal und Chat
Team-, Kanal- und Chatabonnements können angegeben werden, um Ressourcendaten einzuschließen. Wenn angegeben wird, dass Ressourcendaten eingeschlossen werden sollen (includeResourceData festgelegt auf true), ist eine Verschlüsselung erforderlich. Die Abonnementerstellung schlägt fehl, wenn kein encryptionCertificate angegeben ist.
Anforderungsbeispiel
Geben Sie den model Abfrageparameter in der Ressourcen- Eigenschaft im Anforderungstext an.
POST https://graph.microsoft.com/beta/subscriptions
Content-type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.azurewebsites.net/api/send/myNotifyClient",
"resource": "chats/getAllMessages?model=A",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"clientState": "secretClientValue",
"latestSupportedTlsVersion": "v1_2"
}
driveItem
Weitere Einschränkungen gelten für Abonnements von OneDrive-Elementen. Die Einschränkungen gelten für das Erstellen und Verwalten von Abonnements (das Erstellen, aktualisieren und löschen).
Auf einem persönlichen OneDrive können Sie den Stammordner oder einen beliebigen Unterordner in diesem Laufwerk abonnieren. Bei OneDrive for Business können Sie nur den Stammordner abonnieren. Änderungsbenachrichtigungen werden für die angeforderten Arten von Änderungen am abonnierten Ordner bzw. an einer Datei, einem Ordner oder anderen driveItem-Instanzen in seiner Hierarchie gesendet. Sie können keine drive- oder driveItem-Instanzen abonnieren, die keine Ordner sind, wie beispielsweise einzelne Dateien.
Kontakt, Ereignis und Nachricht
Sie können Änderungen in Outlook-Kontakt-, Ereignis- oder Nachrichtenressourcen abonnieren und optional in der POST-Anforderungsnutzlast angeben, ob verschlüsselte Ressourcendaten in Benachrichtigungen eingeschlossen werden sollen.
Das Erstellen und Verwalten (Abrufen, Aktualisieren und Löschen) eines Abonnements erfordert einen Lesebereich für die Ressource. Beispiel: Zum Erhalten von Änderungsbenachrichtigungen zu Nachrichten benötigt Ihre App die Mail.Read-Berechtigung. Outlook-Änderungsbenachrichtigungen unterstützen delegierte und Anwendungsberechtigungsbereiche. Beachten Sie die folgenden Einschränkungen:
Die delegierte Berechtigung unterstützt das Abonnieren von Objekten in Ordnern, die sich nur im Postfach des angemeldeten Benutzers befinden. Beispielsweise können Sie nicht die delegierte Berechtigung "Calendars.Read" verwenden, um Ereignisse im Postfach eines anderen Benutzers zu abonnieren.
So abonnieren Sie Änderungsbenachrichtigungen über Outlook-Kontakte, -Ereignisse oder -Nachrichten in freigegebenen oder delegierten Ordnern:
- Verwenden Sie die entsprechende Anwendungsberechtigung, um Änderungen von Elementen in einem Ordner oder Postfach eines beliebigen Benutzers im Mandanten zu abonnieren.
- Verwenden Sie nicht die Outlook-Freigabeberechtigungen (Contacts.Read.Shared, Calendars.Read.Shared, Mail.Read.Shared und ihre read/write-Entsprechungen), da sie das Abonnieren von Änderungsbenachrichtigungen für Elemente in freigegebenen oder delegierten Ordnern nicht unterstützen.
onlineMeetings, Anwesenheit
onlineMeetings und Anwesenheitsabonnements erfordern Verschlüsselung für Benachrichtigungen mit Ressourcendaten. Die Abonnementerstellung schlägt fehl, wenn encryptionCertificate und encryptionCertificateId nicht angegeben werden, wenn Ressourcendaten in Benachrichtigungen gewünscht werden. Ausführliche Informationen zu Onlinebesprechungsabonnements finden Sie unter "Abrufen von Änderungsbenachrichtigungen für Onlinebesprechungen".
HTTP-Anforderung
PATCH /subscriptions/{id}
Anforderungsheader
| Name | Typ | Beschreibung |
|---|---|---|
| Authorization | string | Bearer {token}. Erforderlich. |
Anforderungstext
Stellen Sie im Anforderungstext nur die Werte für Eigenschaften bereit, die aktualisiert werden sollen. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet.
In der folgenden Tabelle sind die Eigenschaften angegeben, die aktualisiert werden können.
| Name | Typ | Beschreibung |
|---|---|---|
| expirationDateTime | DateTimeOffset | Gibt das Datum und die Uhrzeit in UTC an, wenn das Abonnement abläuft. Für die maximal unterstützte Abonnementdauer hängt von der Ressource ab. |
Antwort
Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und ein subscription-Objekt im Antworttext zurückgegeben.
Weitere Informationen dazu, wie Fehler zurückgegeben werden, finden Sie unter Fehlerantworten.
Beispiel
Anforderung
Nachfolgend sehen Sie ein Beispiel der Anforderung.
PATCH https://graph.microsoft.com/beta/subscriptions/{id}
Content-type: application/json
{
"expirationDateTime":"2016-11-22T18:23:45.9356913Z"
}
Antwort
Nachfolgend sehen Sie ein Beispiel der Antwort.
HTTP/1.1 200 OK
Content-type: application/json
{
"id":"7f105c7d-2dc5-4530-97cd-4e7ae6534c07",
"resource":"me/messages",
"applicationId": "24d3b144-21ae-4080-943f-7067b395b913",
"changeType":"created,updated",
"clientState":"secretClientValue",
"notificationUrl":"https://webhook.azurewebsites.net/api/send/myNotifyClient",
"lifecycleNotificationUrl":"https://webhook.azurewebsites.net/api/send/lifecycleNotifications",
"expirationDateTime":"2016-11-22T18:23:45.9356913Z",
"creatorId": "8ee44408-0679-472c-bc2a-692812af3437",
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": "",
"encryptionCertificateId": "",
"includeResourceData": false,
"notificationContentType": "application/json"
}
Feedback
Feedback senden und anzeigen für