Abonnement abrufen
Namespace: microsoft.graph
Mit dieser API können Sie die Eigenschaften und Beziehungen eines Abonnements abrufen.
Im Abschnitt Berechtigungen der Tabelle finden Sie die Liste der Ressourcen, die das Abonnieren von Änderungsbenachrichtigungen unterstützen.
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 einer Organisation. |
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 einer Organisation. |
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 einer Organisation, in der 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 einer Organisation, in der 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 einer Organisation, in der 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 |
offerShiftRequest (/teams/{id}/schedule/offerShiftRequests) Änderungen an einer Angebotsverschiebungsanforderung in einem Team. |
Schedule.Read.All, Schedule.ReadWrite.All | Nicht unterstützt | Schedule.Read.All, Schedule.ReadWrite.All |
openShiftChangeRequest (/teams/{id}/schedule/openShiftChangeRequests) Änderungen an allen offenen Schichtanforderungen in einem Team. |
Schedule.Read.All, Schedule.ReadWrite.All | Nicht unterstützt | Schedule.Read.All, Schedule.ReadWrite.All |
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 |
shift (/teams/{id}/schedule/shifts) Änderungen an jeder Verschiebung in einem Team. |
Schedule.Read.All, Schedule.ReadWrite.All | Nicht unterstützt | Schedule.Read.All, Schedule.ReadWrite.All |
swapShiftsChangeRequest (/teams/{id}/schedule/swapShiftsChangeRequests) Änderungen an allen Verschiebungsanforderungen in einem Team. |
Schedule.Read.All, Schedule.ReadWrite.All | Nicht unterstützt | Schedule.Read.All, Schedule.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 |
timeOffRequest (/teams/{id}/schedule/timeOffRequests) Änderungen an einer Anforderung für eine ausserplanende Zeit in einem Team. |
Schedule.Read.All, Schedule.ReadWrite.All | Nicht unterstützt | Schedule.Read.All, Schedule.ReadWrite.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/getAllMessages
und /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
sind getaktete APIs. Zahlungsmodelle und Lizenzierungsanforderungen können gelten.
/teams/getAllMessages
und /chats/getAllMessages
unterstützen sowohl als auch model=A
die model=B
Zahlungsmodelle , /me/chats/getAllMessages
/users/{id}/chats/getAllMessages
und /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/getAllMembers
und /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers
sind getaktete APIs. Zahlungsmodelle und Lizenzierungsanforderungen können gelten.
/teams/getAllMembers
und /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.
Sie können den Abfragezeichenfolgenparameter notifyOnUserSpecificProperties verwenden, wenn Sie Änderungen in einem bestimmten Chat oder auf Benutzerebene abonnieren. Wenn Sie den Abfragezeichenfolgenparameter notifyOnUserSpecificProperties während der Abonnementerstellung auf true
festlegen, werden zwei Arten von Nutzlasten an den Abonnenten gesendet. Ein Typ enthält benutzerspezifische Eigenschaften, der andere wird ohne sie gesendet. Weitere Informationen finden Sie unter Abrufen von Änderungsbenachrichtigungen für Chats mit Microsoft Graph.
Hinweis
/appCatalogs/teamsApps/{id}/installedToChats
verfügt über Lizenzierungs- und Zahlungsanforderungen, die speziell nur model=B
unterstü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 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, 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
Abonnements bei Anwesenheit 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
GET /subscriptions/{id}
Optionale Abfrageparameter
Diese Methode unterstützt die OData-Abfrageparameter zur Anpassung der Antwort.
Anforderungsheader
Name | Typ | Beschreibung |
---|---|---|
Authorization | string | Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung. |
Anforderungstext
Geben Sie keinen Anforderungstext für diese Methode an.
Antwort
Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK
und ein subscription-Objekt im Antworttext zurückgegeben.
Beispiel
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
GET https://graph.microsoft.com/v1.0/subscriptions/{id}
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" : "string",
"changeType":"created,updated",
"clientState":"secretClientValue",
"notificationUrl":"https://webhook.azurewebsites.net/api/send/myNotifyClient",
"lifecycleNotificationUrl":"https://webhook.azurewebsites.net/api/send/lifecycleNotifications",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"creatorId": "string",
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": "",
"encryptionCertificateId": "",
"includeResourceData": false,
"notificationContentType": "application/json"
}