Ändern von Benachrichtigungen für Microsoft Teams-Ressourcen
Änderungsbenachrichtigungen für Microsoft Teams-Ressourcen mithilfe von Microsoft Graph ermöglichen es Ihnen, die Änderungen einer Ressource zu abonnieren (Erstellen, Aktualisieren und Löschen). Änderungsbenachrichtigungen bieten ein Modell mit geringer Latenz, mit dem Sie ein Abonnement verwalten können. Sie können auch die Ressourcendaten in den Benachrichtigungen abrufen und vermeiden, dass die API aufgerufen wird, um die Nutzlast abzurufen.
Hinweis
Die maximale Dauer eines Abonnements beträgt 60 Minuten. Abonnements können jedoch verlängert werden, bis der Aufrufer über die Berechtigung für den Zugriff auf die Ressource verfügt.
Ändern von Benachrichtigungstypen
Microsoft Teams unterstützt zwei Arten von Änderungsbenachrichtigungen:
Änderungsbenachrichtigung, um alle Änderungen im Zusammenhang mit einer Ressource mandantenweit nachzuverfolgen: Sie können beispielsweise Änderungen in Nachrichten in jedem Kanal des Mandanten abonnieren und benachrichtigt werden, wenn eine Nachricht in einem beliebigen Kanal im Mandanten erstellt, aktualisiert oder gelöscht wird. Diese Benachrichtigungen können Lizenzierungs- und Zahlungsanforderungen aufweisen, z. B. Änderungsbenachrichtigungen für Nachrichten und Mitgliedschaften.
Änderungsbenachrichtigung zum Nachverfolgen aller Änderungen für eine bestimmte Ressource: Beispielsweise können Sie Änderungen an Nachrichten in einem bestimmten Kanal abonnieren und benachrichtigt werden, wenn eine Nachricht erstellt, aktualisiert oder gelöscht wird.
Ausführliche Informationen dazu, welche Ressourcen welche Arten von Änderungsbenachrichtigungen unterstützen, finden Sie unter Microsoft Graph Änderungsbenachrichtigungen.
Unterstützte Ressourcen
In der folgenden Tabelle sind die Microsoft Teams-Ressourcen, die Änderungsbenachrichtigungen unterstützen, und die entsprechenden Ressourcenpfade aufgeführt. Wenden Sie den Ressourcenpfad für Ihr Szenario an, wie beim Erstellen eines Abonnements angegeben. Der Typ der Ressourcenpfadnutzlast ist der Typ unter der Spalte "Ressource" oder eine Auflistung dieses Typs.
Hinweis
Abonnements für Ressourcen, die mit einem Sternchen (*
) gekennzeichnet sind, sind nur auf dem /beta
Endpunkt verfügbar.
Ressource | Unterstützte Ressourcenpfade | In Benachrichtigungen können Ressourcendaten einbezogen werden |
---|---|---|
Teams-AnrufAufzeichnung | Alle Aufzeichnungen in einem organization:communications/onlineMeetings/getAllRecordings Alle Aufzeichnungen für eine bestimmte Besprechung: communications/onlineMeetings/{onlineMeetingId}/recordings Eine Anrufaufzeichnung, die in einer Besprechung verfügbar wird, die von einem bestimmten Benutzer organisiert wird: users/{userId}/onlineMeetings/getAllRecordings Eine Anrufaufzeichnung, die in einer Besprechung verfügbar wird, in der eine bestimmte Teams-App installiert ist: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings * |
Ja |
Teams callTranscript | Alle Transkripte in einem organization:communications/onlineMeetings/getAllTranscripts Alle Transkripte für eine bestimmte Besprechung: communications/onlineMeetings/{onlineMeetingId}/transcripts Ein Anruftranskript, das in einer Besprechung verfügbar wird, die von einem bestimmten Benutzer organisiert wird: users/{userId}/onlineMeetings/getAllTranscripts Ein Anruftranskript, das in einer Besprechung verfügbar wird, in der eine bestimmte Teams-App installiert ist: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts * |
Ja |
Teams channel | Änderungen an Kanälen in allen Teams:/teams/getAllChannels Änderungen am Kanal in einem bestimmten Team: /teams/{id}/channels |
Ja |
Teams Chat | Änderungen an allen Chats im Mandanten:/chats Änderungen an einem bestimmten Chat: /chats/{id} Änderungen an allen Chats im Mandanten, in denen eine bestimmte Teams-App installiert ist: /appCatalogs/teamsApps/{id}/installedToChats |
Ja |
Teams chatMessage | Änderungen an Chatnachrichten in allen Kanälen aller Teams:/teams/getAllMessages Änderungen an Chatnachrichten in einem bestimmten Kanal: /teams/{id}/channels/{id}/messages Änderungen an Chatnachrichten in allen Chats: /chats/getAllMessages Änderungen an Chatnachrichten in einem bestimmten Chat: /chats/{id}/messages Änderungen an Chatnachrichten in allen Chats, an denen ein bestimmter Benutzer teilnimmt: /users/{id}/chats/getAllMessages Änderungen an Chatnachrichten in allen Chats im Mandanten, in denen eine bestimmte Teams-App installiert ist: /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages |
Ja |
Teams conversationMember | Änderungen an der Mitgliedschaft in einem bestimmten Team:/teams/{id}/members Änderungen an der Mitgliedschaft in einem bestimmten Chat: /chats/{id}/members Änderungen an der Mitgliedschaft in allen Chats: /chats/getAllMembers Neue oder geänderte Mitglieder in allen Kanälen unter einem bestimmten Team: teams/{id}/channels/getAllMembers Änderungen an der Mitgliedschaft in allen Chats in dem Mandanten, in dem eine bestimmte Teams-App installiert ist: /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers Änderungen an der Mitgliedschaft in allen Kanälen des Mandanten: teams/getAllChannels/getAllMembers |
Ja |
Teams team | Änderungen an allen Teams im Mandanten:/teams Änderungen an einem bestimmten Team: /teams/{id} |
Ja |
Teams TeamsAppInstallation | Änderungen, wenn eine bestimmte Teams-App installiert, aktualisiert oder gelöscht wird:/appCatalogs/teamsApps/{teams-app-id}/installations |
Ja |
Nutzlast der Benachrichtigung
Sie können die Benachrichtigung je nach Abonnement mit oder ohne Ressourcendaten erhalten. Wenn Sie mit Ressourcendaten abonnieren, können Sie die Nachrichtennutzlast und die Benachrichtigung abrufen, wodurch sie nicht mehr zurückrufen und den Inhalt abrufen müssen.
Benachrichtigungen mit Ressourcendaten
Bei Benachrichtigungen mit Ressourcendaten sieht die Nutzlast wie folgt aus. Diese Nutzlast dient für eine Benachrichtigung, die der Chatnachrichtenressource entspricht. Die tatsächliche Benachrichtigung enthält die ressource und resourceData -Eigenschaften, die die Ressource darstellen, die die Benachrichtigung ausgelöst hat.
{
"value": [{
"subscriptionId": "10493aa0-4d29-4df5-bc0c-ef742cc6cd7f",
"changeType": "created",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2021-02-02T10:30:34.9097561-08:00",
"resource": "chats('19:8ea0e38b-efb3-4757-924a-5f94061cf8c2_97f62344-57dc-409c-88ad-c4af14158ff5@unq.gbl.spaces')/messages('1612289765949')",
"resourceData": {
"id": "1612289765949",
"@odata.type": "#Microsoft.Graph.chatMessage",
"@odata.id": "chats('19:8ea0e38b-efb3-4757-924a-5f94061cf8c2_97f62344-57dc-409c-88ad-c4af14158ff5@unq.gbl.spaces')/messages('1612289765949')"
},
"encryptedContent": {
"data": "<<--EncryptedContent-->",
"dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
"encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
"encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
},
"tenantId": "<<--TenantForWhichNotificationWasSent-->>"
}],
"validationTokens": ["<<--ValidationTokens-->>"]
}
Ausführliche Informationen zum Überprüfen von Token und entschlüsseln der Nutzlast finden Sie unter Einrichten von Änderungsbenachrichtigungen, die Ressourcendaten enthalten.
Die entschlüsselte Benachrichtigungsnutzlast sieht wie folgt aus. Die entschlüsselte Nutzlast für das vorherige Beispiel entspricht dem chatMessage- Schema. Die Nutzlast ist der von GET-Vorgängen zurückgegebenen Nutzlast ähnlich.
{
"id": "1612289992105",
"replyToId": null,
"etag": "1612289992105",
"messageType": "message",
"createdDateTime": "2021-02-02T18:19:52Z",
"lastModifiedDateTime": "2021-02-02T18:19:52.105Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": null,
"summary": null,
"chatId": "19:8ea0e38b-efb3-4757-924a-5f94061cf8c2_97f62344-57dc-409c-88ad-c4af14158ff5@unq.gbl.spaces",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"from": {
"application": null,
"device": null,
"user": {
"id": "8ea0e38b-efb3-4757-924a-5f94061cf8c2",
"displayName": "Ramjot Singh",
"userIdentityType": "aadUser"
},
"conversation": null
},
"body": {
"contentType": "text",
"content": "test"
},
"channelIdentity": null,
"attachments": [],
"mentions": [],
"policyViolation": null,
"reactions": [],
"replies": [],
"hostedContents": []
}
Benachrichtigungen ohne Ressourcendaten
Benachrichtigungen ohne Ressourcendaten enthalten genügend Informationen, um GET-Aufrufe zu tätigen, um die Ressource zu erhalten. Abonnements für Benachrichtigungen ohne Ressourcendaten erfordern kein Verschlüsselungszertifikat (da die tatsächlichen Ressourcendaten nicht gesendet werden).
Das Nutzlast sieht wie folgt aus. Diese Nutzlast gilt für eine Nachricht, die in einem Kanal gesendet wurde.
{
"subscriptionId": "9f9d1ed0-c9cc-42e7-8d80-a7fc4b0cda3c",
"changeType": "created",
"tenantId": "<<--TenantForWhichNotificationWasSent-->>",
"clientState": "<<--SpecifiedClientState-->>",
"subscriptionExpirationDateTime": "2021-02-02T11:26:41.0537895-08:00",
"resource": "teams('fbe2bf47-16c8-47cf-b4a5-4b9b187c508b')/channels('19:4a95f7d8db4c4e7fae857bcebe0623e6@thread.tacv2')/messages('1612293113399')",
"resourceData": {
"id": "1612293113399",
"@odata.type": "#Microsoft.Graph.chatMessage",
"@odata.id": "teams('fbe2bf47-16c8-47cf-b4a5-4b9b187c508b')/channels('19:4a95f7d8db4c4e7fae857bcebe0623e6@thread.tacv2')/messages('1612293113399')"
}
}
Das vorherige Beispiel zeigt eine Benachrichtigung, die einer Chatnachrichtenressource entspricht. Die tatsächliche Benachrichtigung enthält die ressource und resourceData -Eigenschaften, die die Ressource darstellen, die die Benachrichtigung ausgelöst hat. Die ressource und @odata.id -Eigenschaften können verwendet werden, um Aufrufe an Microsoft Graph zu tätigen, um die Nutzlast für die Nachricht zu erhalten.
Hinweis
GET-Aufrufe geben immer den aktuellen Status der Ressource zurück. Wenn die Ressource zwischen dem Senden der Benachrichtigung und dem Abrufen der Ressource geändert wird, gibt der Vorgang die aktualisierte Ressource zurück.
Verwandte Inhalte
- Microsoft Graph-Änderungsbenachrichtigungen
- Abrufen von Änderungsbenachrichtigungen für Teams und Kanälen mithilfe von Microsoft Graph
- Abrufen von Änderungsbenachrichtigungen über Veränderungen der Mitgliedschaft in Teams und Kanälen mithilfe von Microsoft Graph
- Abrufen von Änderungsbenachrichtigungen für Nachrichten in Teams-Kanälen und -Chats mithilfe von Microsoft Graph
- Abrufen von Änderungsbenachrichtigungen für Chats mithilfe von Microsoft Graph
- Abrufen von Änderungsbenachrichtigungen für Chatmitgliedschaften mithilfe von Microsoft Graph
- Übersicht über Microsoft Teams-APIs
- Abrufen von Änderungsbenachrichtigungen für Besprechungstranskripte und -aufzeichnungen mithilfe von Microsoft Graph