Verwenden der Microsoft Graph-API zum Arbeiten mit Microsoft TeamsUse the Microsoft Graph API to work with Microsoft Teams

Wichtig

APIs unter der /beta Version in Microsoft Graph können Änderungen unterworfen werden.APIs under the /beta version in Microsoft Graph are subject to change. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt.Use of these APIs in production applications is not supported.

Microsoft Teams ist ein Chat-basierter Arbeitsbereich in Microsoft 365, der integrierten Zugriff auf Team-spezifische Kalender, Dateien, OneNote-Notizen, Planner-Pläne, Schichtpläne und vieles mehr bietet.Microsoft Teams is a chat-based workspace in Microsoft 365 that provides built-in access to team-specific calendars, files, OneNote notes, Planner plans, Shifts schedules, and more.

Wichtige Ressourcen in Microsoft TeamsKey resources in Microsoft Teams

RessourceResource MethodenMethods
teamteam List your teams, list all teams, create, read, update, delete, clone, archive, unarchiveList your teams, list all teams, create, read, update, delete, clone, archive, unarchive
groupgroup Add member, remove member, add owner, remove owner, get files, get notebook, get plans, get calendarAdd member, remove member, add owner, remove owner, get files, get notebook, get plans, get calendar
channelchannel List, create, read, update, deleteList, create, read, update, delete
teamsTabteamsTab List, create, read, update, deleteList, create, read, update, delete
teamsAppteamsApp List, publish, update, removeList, publish, update, remove
teamsAppInstallationteamsAppInstallation List, install, upgrade, removeList, install, upgrade, remove
chatMessagechatMessage List, send, readList, send, read
callcall Answer, reject, redirect, mute, unmute, update metadata, change screen sharing role, list participants, invite participants, mute all participantsAnswer, reject, redirect, mute, unmute, update metadata, change screen sharing role, list participants, invite participants, mute all participants
scheduleschedule Erstellen oder ersetzen, abrufen, freigebenCreate or replace, get, share
schedulingGroupschedulingGroup Erstellen, Auflisten, Abrufen, Ersetzen, LöschenCreate, List, Get, Replace, Delete
shiftshift Erstellen, Auflisten, Abrufen, Ersetzen, LöschenCreate, List, Get, Replace, Delete
timeOfftimeOff Erstellen, Auflisten, Abrufen, Ersetzen, LöschenCreate, List, Get, Replace, Delete
timeOffReasontimeOffReason Erstellen, Auflisten, Abrufen, Ersetzen, LöschenCreate, List, Get, Replace, Delete

Microsoft Teams-LimitsMicrosoft Teams limits

Die getesteten Leistungs- und Kapazitätslimits von Microsoft Teams sind in Limits und Spezifikationen für Microsoft Teams dokumentiert.The tested performance and capacity limits of Microsoft Teams are documented in Limits and specifications for Microsoft Teams. Diese Limits gelten unabhängig davon, ob Sie Microsoft Teams direkt oder Microsoft Graph-APIs verwenden.These limits apply whether using Microsoft Teams directly or using Microsoft Graph APIs. Da jedes Team über eine ihm entsprechende Gruppe verfügt und jede Gruppe ein Verzeichnisobjekt ist, können Beschränkungen der Anzahl der Gruppen und der Anzahl von Verzeichnisobjekten („Ressourcen“) ebenfalls eine Rolle spielen.Because every team has a corresponding group, and every group is a directory object, limits on the number of groups and the number of directory objects ("resources") can also come into play.

Dateien innerhalb von Kanälen werden in SharePoint gespeichert, womit also SharePoint Online-Limits gelten.Files inside channels are stored in SharePoint; SharePoint online limits apply.

Siehe auch Einschränkungslimits für Microsoft Teams-Dienste.See also throttling limits for Microsoft Teams services.

Teams und GruppenTeams and groups

In Microsoft Graph wird Microsoft Teams durch eine group-Ressource dargestellt.In Microsoft Graph, Microsoft Teams is represented by a group resource. Sowohl Microsoft Teams- als auch Microsoft 365-Gruppen erfüllen die unterschiedlichen Anforderungen der Zusammenarbeit in Gruppen.Both Microsoft Teams and Microsoft 365 groups address the various needs of group collaboration. Fast alle gruppenbasierten Funktionen gelten sowohl für Microsoft Teams- als auch für Microsoft 365-Gruppen, wie z. B. Gruppenkalender, Dateien, Notizen, Fotos, Pläne usw.Almost all the group-based features apply to Microsoft Teams and Microsoft 365 groups, such as group calendar, files, notes, photo, plans, and so on. Der Hauptunterschied zwischen einer Team- und Microsoft 365-Gruppe ist der Kommunikationsmodus zwischen den Mitgliedern.The main difference between a team and a Microsoft 365 group is the mode of communication between members. Teammitglieder kommunizieren innerhalb eines ständigen Chats im Kontext eines bestimmten Teams.Team members communicate by persistent chat in the context of a specific team. Microsoft 365-Gruppenmitglieder kommunizieren in Gruppenunterhaltungen, also E-Mail-Unterhaltungen, die im Kontext einer Gruppe in Outlook stattfinden.Microsoft 365 group members communicate by group conversations, which are email conversations that occur in the context of a group in Outlook.

Jede Gruppe, die über ein Team verfügt, besitzt die ResourceProvisioningOptions-Eigenschaft, die "Team" enthält.Any group that has a team has a resourceProvisioningOptions property that contains "Team".

Hinweis: Die Group.resourceProvisioningOptions-Eigenschaft kann geändert werden.Note: The Group.resourceProvisioningOptions property can be changed. "Team" sollte nicht zu dieser Sammlung hinzugefügt oder aus ihr entfernt werden; andernfalls erhalten Sie bei der Auflistung aller Teams falsche Ergebnisse.Do not add or remove "Team" from that collection; otherwise, you'll get incorrect results when you list all teams.

Im folgenden werden die Unterschiede zwischen Teams und Gruppen auf der API-Ebene aufgelistet:The following are the differences at the API level between teams and groups:

Hinweis: Wenn Sie die Gruppen-APIs in einer Microsoft Teams-App und nicht in einer eigenständigen App verwenden, z. B. als Teil einer Registerkarte oder eines Bots, der in Microsoft Teams ausgeführt wird, folgen Sie den Anweisungen im Artikel Verwenden von Microsoft Graph in Ihren Microsoft Teams-Seiten.Note: If you use the groups API in a Microsoft Teams app rather than in a standalone app - for example as part of a tab or bot running in Microsoft Teams - follow the guidance in the article Using Microsoft Graph in your Microsoft Teams pages.

Ändern der Mitgliedschaft in Microsoft TeamsMembership changes in Microsoft Teams

Wenn Sie Mitglieder und Besitzer zu einem Team hinzufügen möchten, ändern Sie die Mitgliedschaft der Gruppe mit der gleichen ID.To add members and owners to a team, change the membership of the group with the same ID.

AnwendungsfallUse case VerbVerb URLURL
Mitglied hinzufügenAdd member POSTPOST /groups/{id}/members/$ref/groups/{id}/members/$ref
Mitglied entfernenRemove member LÖSCHENDELETE /groups/{id}/members/{userId}/$ref/groups/{id}/members/{userId}/$ref
Besitzer hinzufügenAdd owner POSTPOST /groups/{id}/owners/$ref/groups/{id}/owners/$ref
Besitzer entfernenRemove owner LÖSCHENDELETE /groups/{id}/owners/{userId}/$ref/groups/{id}/owners/{userId}/$ref
Team aktualisierenUpdate team PATCHPATCH /teams/{id}/teams/{id}

Wenn Sie einen Besitzer hinzufügen, sollten Sie diesen auch als Mitglied hinzufügen.We recommend that when you add an owner, you also add that user as a member. Wenn ein Team über einen Besitzer verfügt, der kein Mitglied ist, werden Besitzer- und Mitgliedschaftsänderungen möglicherweise nicht sofort in Microsoft Teams angezeigt.If a team has an owner who is not also a member, ownership and membership changes might not show up immediately in Microsoft Teams. Darüber hinaus wird dies je nach App oder API unterschiedlich behandelt.In addition, different apps and APIs will handle that differently. In Microsoft Teams werden z. B. Teams, in denen der Benutzer entweder Mitglied oder Besitzer ist, angezeigt, während die Microsoft Teams PowerShell-Cmdlets und die me/joinedTeams-API nur Teams anzeigt, in denen der Benutzer Mitglied ist.For example, Microsoft Teams will show teams that the user is either a member or an owner of, while the Microsoft Teams PowerShell cmdlets and the /me/joinedTeams API will only show teams the user is a member of. Um Verwirrung zu vermeiden, fügen Sie alle Besitzer auch zur Mitgliederliste hinzu.To avoid confusion, add all owners to the members list as well.

Bekanntes Problem: Wenn /groups/{Id}/owners LÖSCHEN aufgerufen wird, wird der Besitzer auch von der /groups/{Id}/members-Liste entfernt.Known issue: when DELETE /groups/{id}/owners is called, the user is also removed from the /groups/{id}/members list. Um dieses Problem zu umgehen, sollten Sie den Benutzer sowohl aus der Besitzer- als auch aus der Mitgliederliste entfernen, 10 Sekunden warten, und ihn dann wieder zur Liste der Mitglieder hinzufügen.To work around this, we recommend that you remove the user from both owners and members, then wait 10 seconds, then add them back to members.

Fassen Sie die ID beim Hinzufügen und Entfernen von Mitgliedern und Besitzern nicht in geschweifte Klammern {} ein.When adding and removing members and owners, don't put braces { } around the ID.

GeschwindigkeitSpeed SyntaxSyntax
SchnellFast https://graph.microsoft.com/beta/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/48d31887-5fad-4d73-a9f5-3c356e68a038/$refhttps://graph.microsoft.com/beta/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/48d31887-5fad-4d73-a9f5-3c356e68a038/$ref
LangsamSlow https://graph.microsoft.com/beta/groups/{02bd9fd6-8f93-4758-87c3-1fb73740a315}/members/{48d31887-5fad-4d73-a9f5-3c356e68a038}/$refhttps://graph.microsoft.com/beta/groups/{02bd9fd6-8f93-4758-87c3-1fb73740a315}/members/{48d31887-5fad-4d73-a9f5-3c356e68a038}/$ref

Wenn userId in der URL oder Nutzlast als UPN und nicht als GUID ausgedrückt wird, ist die Leistung geringer.Similarly, if the userId in the URL or payload is expressed as a UPN rather than as a GUID, the performance will be slower.

GeschwindigkeitSpeed SyntaxSyntax
SchnellFast 48d31887-5fad-4d73-a9f5-3c356e68a03848d31887-5fad-4d73-a9f5-3c356e68a038
LangsamSlow john@example.comjohn@example.com

Wenn der langsamere Pfad ausgewählt wird und ein aktuelles Teammitglied oder ein Besitzer bei der Microsoft Teams-Anwendung/Website angemeldet ist, wird die Änderung innerhalb einer Stunde angezeigt.When the slower path is taken, if a current team member or owner is signed in to the Microsoft Teams application/website, the change will be reflected within an hour. Wenn keiner dieser Benutzer bei der Microsoft Teams- Anwendung/Website angemeldet ist, wird die Änderung erst eine Stunde nachdem sich einer dieser Benutzer angemeldet hat sichtbar.If none of those users are signed in to the Microsoft Teams application/website, the change will not be reflected until an hour after one of them signs in.

Hinweis

Mandantengäste werden immer über den langsamen Pfad verarbeitet.Tenant guests are always processed via the slow path.

Anforderungen für das AbrufenPolling requirements

Wenn Ihre App Abrufe durchführt, um festzustellen, ob sich eine Ressource geändert hat, können Sie dies nur einmal pro Tag tun.If your app polls to see whether a resource has changed, you can only do that once per day. (teamsAsyncOperation- ist dahingehend eine Ausnahme, dass es für häufiges Abrufen gedacht ist.) Wenn Sie häufiger Informationen über Änderungen benötigen, sollten Sie ein Abonnement dieser Ressource erstellen und Änderungsbenachrichtigungen empfangen (webhooks).(teamsAsyncOperation is an exception in that it's intended to be polled frequently.) If you need to hear about changes more frequently than that, you should create a subscription to that resource and receive change notifications (webhooks). Wenn Sie keine Unterstützung für den von Ihnen benötigten Abonnementtyp finden, möchten wir Sie ermutigen, Feedback über UserVoice bereitzustellen.If you don't find support for the type of subscription you need, we encourage you to provide feedback via UserVoice.

Beim Abrufen neuer Nachrichten müssen Sie einen Datumsbereich angeben, falls dies unterstützt wird.When polling for new messages, you must specify a date range where supported. Ausführliche Informationen finden Sie unter Abrufen des Kanalnachrichtendeltas.For details, see get channel messages delta.

Beim Abrufen wird immer wieder ein GET-Vorgang an einer Ressource ausgeführt, um festzustellen, ob sich die Ressource geändert hat.Polling is doing a GET operation on a resource over and over again to see if that resource has changed. Sie dürfen mehrmals am Tag GET-Aufrufe an dieselbe Ressource ausführen, solange es sich dabei nicht um Abrufe handelt.You're allowed to GET the same resource multiple times a day, as long as it's not polling. So ist es beispielsweise in Ordnung, jedes Mal, wenn der Benutzer Ihre Webseite besucht/aktualisiert, ein GET an „/me/joinedTeams“ zu senden, aber es ist nicht in Ordnung, wenn Sie alle 30 Sekunden in einer Schleife ein GET an „/me/joinedTeams“ senden, um diese Webseite zu aktualisieren.For example, it is okay to GET /me/joinedTeams every time the user visits/refreshes your web page, but it is not okay to GET /me/joinedTeams in a loop every 30 seconds to refresh that web page.

Apps, die diese Anforderungen für das Abrufen nicht erfüllen, verletzen die Nutzungsbedingungen für Microsoft-APIs.Apps that don't follow these polling requirements will be considered in violation of the Microsoft APIs Terms of Use. Dies kann zu zusätzlichen Einschränkungen oder der Aussetzung oder Beendigung Ihrer Verwendung der Microsoft-APIs führen.This may result in additional throttling or the suspension or termination of your use of the Microsoft APIs.

NeuerungenWhat's new

Informieren Sie sich über die aktuellsten neuen Features und Updates für diesen API-Satz.Find out about the latest new features and updates for this API set.

Siehe auchSee also