Abonnement aktualisieren

Namespace: microsoft.graph

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 einem Zeitraum ab, der je nach Ressourcentyp variiert. Um zu vermeiden, dass Änderungsbenachrichtigungen fehlen, sollte eine App ihre Abonnements rechtzeitig vor dem Ablaufdatum verlängern. Informationen zur maximalen Länge eines Abonnements für jeden Ressourcentyp finden Sie unter Abonnement .

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

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

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
callRecord Nicht unterstützt Nicht unterstützt CallRecords.Read.All
callRecording
communications/onlineMeetings/getAllRecordings
Alle Aufzeichnungen in einem organization.
Nicht unterstützt Nicht unterstützt OnlineMeetingRecording.Read.All
callRecording
communications/onlineMeetings/{onlineMeetingId}/recordings
Alle Aufzeichnungen für eine bestimmte Besprechung.
OnlineMeetingRecording.Read.All Nicht unterstützt OnlineMeetingRecording.Read.All
callRecording
users/{userId}/onlineMeetings/getAllRecordings
Eine Anrufaufzeichnung, die in einer Besprechung verfügbar wird, die von einem bestimmten Benutzer organisiert wird.
OnlineMeetingRecording.Read.All Nicht unterstützt OnlineMeetingRecording.Read.All
callTranscript
communications/onlineMeetings/getAllTranscripts
Alle Transkripte in einem organization.
Nicht unterstützt Nicht unterstützt OnlineMeetingTranscript.Read.All
callTranscript
communications/onlineMeetings/{onlineMeetingId}/transcripts
Alle Transkripte für eine bestimmte Besprechung.
OnlineMeetingTranscript.Read.All Nicht unterstützt OnlineMeetingTranscript.Read.All
callTranscript
users/{userId}/onlineMeetings/getAllTranscripts
Ein Anruftranskript, das in einer Besprechung verfügbar wird, die von einem bestimmten Benutzer organisiert wird.
OnlineMeetingTranscript.Read.All Nicht unterstützt OnlineMeetingTranscript.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
chat
/appCatalogs/teamsApps/{id}/installedToChats
Alle Chats in einem organization, in denen eine bestimmte Teams-App installiert ist.
Nicht unterstützt Nicht unterstützt Chat.ReadBasic.WhereInstalled, Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled
ChatMessage (/Teams/{ID}/Channels/{ID}/Messages) ChannelMessage.Read.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) Nicht unterstützt 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
chatMessage
/appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
Chatnachrichten für alle Chats in einem organization, in dem eine bestimmte Teams-App installiert ist.
Nicht unterstützt Nicht unterstützt Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled
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
/appCatalogs/teamsApps/{id}/installedToChats/getAllMembers
Chatmitglieder für alle Chats in einem organization, in dem eine bestimmte Teams-App installiert ist.
Nicht unterstützt Nicht unterstützt ChatMember.Read.WhereInstalled, ChatMember.ReadWrite.WhereInstalled, Chat.ReadBasic.WhereInstalled, Chat.Read.WhereInstalled, Chat.ReadWrite.WhereInstalled
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
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
virtualEventWebinar VirtualEvent.Read Nicht unterstützt VirtualEvent.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.

Sie müssen den Anforderungsheader Prefer: include-unknown-enum-members verwenden, um die folgenden Werte in chatMessagemessageTypeevolvable enum abzurufen: systemEventMessage for /teams/{id}/channels/{id}/messages und /chats/{id}/messages resource.

Hinweis

/teams/getAllMessages, /chats/getAllMessages, /me/chats/getAllMessages, /users/{id}/chats/getAllMessagesund /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages sind getaktete APIs. Zahlungsmodelle und Lizenzierungsanforderungen können gelten. /teams/getAllMessagesund /chats/getAllMessages unterstützen sowohl als auch model=A die model=B Zahlungsmodelle , /me/chats/getAllMessages/users/{id}/chats/getAllMessagesund /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages unterstützen nur model=B. Wenn Sie in Ihrer Abfrage kein Zahlungsmodell angeben, wird der Standardauswertungsmodus verwendet.

Hinweis

Um ein Zahlungsmodell für eine abonnierte Ressource einer Änderungsbenachrichtigung hinzuzufügen oder zu ändern, müssen Sie ein neues Abonnement für Änderungsbenachrichtigungen mit dem neuen Zahlungsmodell erstellen. Das Aktualisieren einer vorhandenen Änderungsbenachrichtigung funktioniert nicht.

conversationMember

conversationMember-Abonnements können so angegeben werden, dass sie Ressourcendaten enthalten. 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, /chats/getAllMembersund /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers sind getaktete APIs. Zahlungsmodelle und Lizenzierungsanforderungen können gelten. /teams/getAllMembersund /chats/getAllMembers unterstützen sowohl als model=B auch model=A zahlungsmodelle. /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers unterstützt nur model=B. Wenn Sie in Ihrer Abfrage kein Zahlungsmodell angeben, wird der Standardauswertungsmodus verwendet.

Hinweis

Um ein Zahlungsmodell für eine abonnierte Ressource einer Änderungsbenachrichtigung hinzuzufügen oder zu ändern, müssen Sie ein neues Abonnement für Änderungsbenachrichtigungen mit dem neuen Zahlungsmodell erstellen. Das Aktualisieren einer vorhandenen Änderungsbenachrichtigung funktioniert nicht.

Team, Kanal und Chat

Team-, Kanal- und Chatabonnements können so angegeben werden, dass sie Ressourcendaten enthalten. 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

/appCatalogs/teamsApps/{id}/installedToChats verfügt über Lizenzierungs- und Zahlungsanforderungen, die speziell nur model=Bunterstützt werden. Wenn kein Modell angegeben ist, wird der Auswertungsmodus verwendet.

Hinweis

Um ein Zahlungsmodell für eine abonnierte Ressource einer Änderungsbenachrichtigung hinzuzufügen oder zu ändern, müssen Sie ein neues Abonnement für Änderungsbenachrichtigungen mit dem neuen Zahlungsmodell erstellen. Das Aktualisieren einer vorhandenen Änderungsbenachrichtigung funktioniert nicht.

Anforderungsbeispiel

Geben Sie den model Abfrageparameter in der Ressourcen- Eigenschaft im Anforderungstext an.

POST https://graph.microsoft.com/v1.0/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 dem persönlichen OneDrive können Sie den Stammordner oder einen beliebigen Unterordner auf 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, z. B. einzelne Dateien.

Kontakt, Ereignis und Nachricht

Sie können Änderungen an der Outlook-Ressource Kontakt, Ereignis oder Nachricht abonnieren.

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 die delegierte Berechtigung Calendars.Read nicht 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 deren Entsprechungen mit Lese-/Schreibzugriff), da sie das Abonnieren von Änderungsbenachrichtigungen für Elemente in freigegebenen oder delegierten Ordnern nicht unterstützen.

Anwesenheit

Anwesenheitsabonnements erfordern eine Verschlüsselung für Benachrichtigungen, die Ressourcendaten enthalten. Die Abonnementerstellung schlägt fehl, wenn encryptionCertificate und encryptionCertificateId nicht angegeben werden, wenn Benachrichtigungen Ressourcendaten enthalten müssen. Ausführliche Informationen zu Anwesenheitsabonnements finden Sie unter Abrufen von Änderungsbenachrichtigungen für Anwesenheitsupdates in Microsoft Teams.

virtualEventWebinar

Abonnements für virtuelle Ereignisse unterstützen nur grundlegende Benachrichtigungen und sind auf einige Entitäten eines virtuellen Ereignisses beschränkt. Weitere Informationen zu den unterstützten Abonnementtypen finden Sie unter Abrufen von Änderungsbenachrichtigungen für Updates virtueller Microsoft Teams-Ereignisse.

HTTP-Anforderung

PATCH /subscriptions/{id}

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext nur die Werte für die Eigenschaften an, 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.

Der Anforderungstext muss mindestens eine der aufgeführten Eigenschaften enthalten.

Name Typ Beschreibung
expirationDateTime DateTimeOffset Gibt das Datum und die Uhrzeit in UTC an, zu dem das Abonnement abläuft. Die maximal unterstützte Abonnementdauer variiert je nach Ressource.
notificationUrl Zeichenfolge Diese URL muss das HTTPS-Protokoll verwenden. Alle Abfragezeichenfolgenparameter, die in der notificationUrl-Eigenschaft enthalten sind, sind in der HTTP POST-Anforderung enthalten, wenn Microsoft Graph die Änderungsbenachrichtigungen sendet.

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

Das folgende Beispiel zeigt eine Anfrage.

PATCH https://graph.microsoft.com/v1.0/subscriptions/{id}
Content-type: application/json

{
   "expirationDateTime":"2016-11-22T18:23:45.9356913Z"
}

Antwort

Das folgende Beispiel zeigt die 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":"subscription-identifier",
  "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"
}