Team erstellen

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um zu bestimmen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Erstellt ein neues Team.

Berechtigungen

Eine der folgenden Berechtigungen ist erforderlich, um diese API aufzurufen. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) Team.Create, Group.ReadWrite.All**, Directory.ReadWrite.All**
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung Team.Create, Teamwork.Migrate.All, Group.ReadWrite.All**, Directory.ReadWrite.All**

Hinweis: Die Berechtigung "Teamwork.Migrate.All" wird nur für Migration unterstützt. Microsoft kann in Zukunft von Ihnen oder Ihren Kunden fordern, basierend auf der Menge der importierten Daten, zusätzliche Gebühren zu zahlen.

Hinweis: Mit ** markierte Berechtigungen werden nur aus Gründen der Abwärtskompatibilität unterstützt. Es wird empfohlen, Ihre Lösungen zu aktualisieren, sodass sie eine alternative Berechtigung verwenden, die in der vorherigen Tabelle aufgeführt ist, und diese Berechtigungen in Zukunft nicht mehr verwenden.

HTTP-Anforderung

POST /teams

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung eines team-Objekts an.

Antwort

Falls erfolgreich, gibt diese API eine 202 Accepted-Antwort mit einem Link zum teamsAsyncOperation zurück.

Beispiele

Beispiel 1: Delegierte Berechtigungen

Nachfolgend sehen Sie ein Beispiel für eine Mindestanforderung. Durch Auslassen anderer Eigenschaften verwendet der Client implizit die Standardwerte aus der vordefinierten Vorlage, die durch template angegeben wird.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
  "template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
  "displayName": "My Sample Team",
  "description": "My Sample Team’s Description"
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Beispiel 2: Anwendungsberechtigungen

Im Folgenden sehen Sie ein Beispiel für eine Mindestanforderung unter Verwendung der Anwendungsberechtigungen. Durch Auslassen anderer Eigenschaften verwendet der Client implizit die Standardwerte aus der vordefinierten Vorlage, die durch template angegeben wird. Wenn Sie eine Anforderung mit Anwendungsberechtigungen erstellen, muss ein Benutzer in der members-Sammlung angegeben werden.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
   "template@odata.bind":"https://graph.microsoft.com/beta/teamsTemplates('standard')",
   "displayName":"My Sample Team",
   "description":"My Sample Team’s Description",
   "members":[
      {
         "@odata.type":"#microsoft.graph.aadUserConversationMember",
         "roles":[
            "owner"
         ],
         "user@odata.bind":"https://graph.microsoft.com/beta/users('0040b377-61d8-43db-94f5-81374122dc7e')"
      }
   ]
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Beispiel 3: Erstellen eines Teams mit mehreren Kanälen, installierten Apps und angehefteten Registerkarten unter Verwendung delegierter Berechtigungen

Im Folgenden sehen Sie eine Anforderung mit vollständiger Nutzlast. Der Client kann Werte in der Basisvorlage außer Kraft setzen und zu Elementen mit Arraywerten hinzufügen, soweit es die Validierungsregeln für specialization zulassen.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
    "template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
    "visibility": "Private",
    "displayName": "Sample Engineering Team",
    "description": "This is a sample engineering team, used to showcase the range of properties supported by this API",
    "channels": [
        {
            "displayName": "Announcements 📢",
            "isFavoriteByDefault": true,
            "description": "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements."
        },
        {
            "displayName": "Training 🏋️",
            "isFavoriteByDefault": true,
            "description": "This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.",
            "tabs": [
                {
                    "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.web')",
                    "displayName": "A Pinned Website",
                    "configuration": {
                        "contentUrl": "https://learn.microsoft.com/microsoftteams/microsoft-teams"
                    }
                },
                {
                    "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.youtube')",
                    "displayName": "A Pinned YouTube Video",
                    "configuration": {
                        "contentUrl": "https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ",
                        "websiteUrl": "https://www.youtube.com/watch?v=X8krAMdGvCQ"
                    }
                }
            ]
        },
        {
            "displayName": "Planning 📅 ",
            "description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.",
            "isFavoriteByDefault": false
        },
        {
            "displayName": "Issues and Feedback 🐞",
            "description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu."
        }
    ],
    "memberSettings": {
        "allowCreateUpdateChannels": true,
        "allowDeleteChannels": true,
        "allowAddRemoveApps": true,
        "allowCreateUpdateRemoveTabs": true,
        "allowCreateUpdateRemoveConnectors": true
    },
    "guestSettings": {
        "allowCreateUpdateChannels": false,
        "allowDeleteChannels": false
    },
    "funSettings": {
        "allowGiphy": true,
        "giphyContentRating": "Moderate",
        "allowStickersAndMemes": true,
        "allowCustomMemes": true
    },
    "messagingSettings": {
        "allowUserEditMessages": true,
        "allowUserDeleteMessages": true,
        "allowOwnerDeleteMessages": true,
        "allowTeamMentions": true,
        "allowChannelMentions": true
    },
    "discoverySettings": {
        "showInTeamsSearchAndSuggestions": true
    },
    "installedApps": [
        {
            "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"
        },
        {
            "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"
        }
    ]
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('958e8cf8-169a-42aa-8599-5c1c5479c0ca')/operations('00000000-0000-0000-0000-000000000000')
Content-Location: /teams('958e8cf8-169a-42aa-8599-5c1c5479c0ca')
Content-Length: 0

Beispiel 4: Erstellen eines Teams aus einer Gruppe

Das folgende Beispiel zeigt, wie Sie ein neues Team aus einer Gruppe erstellen, wenn Sie eine groupId haben.

Ein paar Dinge, die Sie zu diesem Aufruf wissen sollten:

  • Damit ein Team erstellt werden kann, muss die Gruppe, aus der Sie es erstellen, mindestens einen Besitzer haben.
  • Das erstellte Team erbt Anzeigename, Sichtbarkeit, Spezialisierung und Mitglieder der Gruppe. Wenn Sie diesen Aufruf mit der group@odata.bind -Eigenschaft ausführen, gibt das Einschließen von team displayName, visibility, spezialisierung oder members@odata.bind eigenschaften einen Fehler zurück.
  • Wenn die Gruppe vor weniger als 15 Minuten erstellt wurde, führt der Aufruf zum Erstellen eines Teams möglicherweise zu einem Fehler 404 aufgrund von Verzögerungen bei der Replikation. Wir empfehlen Ihnen, den Aufruf zum Erstellen des Teams drei Mal mit einer Verzögerung von 10 Sekunden zwischen den Aufrufen zu wiederholen.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
  "template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
  "group@odata.bind": "https://graph.microsoft.com/beta/groups('71392b2f-1765-406e-86af-5907d9bdb2ab')"
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('71392b2f-1765-406e-86af-5907d9bdb2ab')/operations('9698b2b8-9636-4f49-b7a8-10dadfa7062a')
Content-Location: /teams('71392b2f-1765-406e-86af-5907d9bdb2ab')
Content-Length: 0

Beispiel 5: Erstellen eines Teams mit mehreren Kanälen, installierten Apps und angehefteten Registerkarten aus einer Gruppe

Im Folgenden finden Sie eine Anforderung zum Konvertieren einer vorhandenen Gruppe mit erweiterten Eigenschaften, die das Team mit mehreren Kanälen, installierten Apps und angehefteten Registerkarten erstellt.

Weitere Informationen zu unterstützten Basisvorlagentypen und erweiterten Eigenschaften finden Sie unter Erste Schritte mit Teams-Vorlagen.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
   "template@odata.bind":"https://graph.microsoft.com/beta/teamsTemplates('standard')",
   "group@odata.bind":"https://graph.microsoft.com/beta/groups('dbd8de4f-5d47-48da-87f1-594bed003375')",
   "channels":[
      {
         "displayName":"Class Announcements 📢",
         "isFavoriteByDefault":true
      },
      {
         "displayName":"Homework 🏋️",
         "isFavoriteByDefault":true
      }
   ],
   "memberSettings":{
      "allowCreateUpdateChannels":false,
      "allowDeleteChannels":false,
      "allowAddRemoveApps":false,
      "allowCreateUpdateRemoveTabs":false,
      "allowCreateUpdateRemoveConnectors":false
   },
   "installedApps":[
      {
         "teamsApp@odata.bind":"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"
      },
      {
         "teamsApp@odata.bind":"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"
      }
   ]
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Beispiel 6: Erstellen eines Teams mit einem nicht standardmäßigen Basisvorlagentyp

Basisvorlagentypen sind spezielle Vorlagen, die Microsoft für bestimmte Branchen erstellt. Diese Basisvorlagen enthalten häufig proprietäre Apps, die nicht im Store verfügbar sind, und Teameigenschaften, die noch nicht separat in Microsoft Teams-Vorlagen unterstützt werden.

Um ein Team aus einer nicht standardmäßigen Basisvorlage zu erstellen, sollten Sie die template@odata.bind-Eigenschaft im Anforderungstext aus standard verwenden, um auf die spezifische Basisvorlage zu zeige, die Sie erstellen möchten.

Weitere Informationen zu unterstützten Basisvorlagentypen finden Sie unter Erste Schritte mit Teams-Vorlagen.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
  "template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('educationClass')",
  "displayName": "My Class Team",
  "description": "My Class Team’s Description"
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Beispiel 7: Erstellen eines Teams mit einem lokalisierten, nicht standardmäßigen Basisvorlagentyp

Basisvorlagentypen können in Ihre bevorzugte Sprache lokalisiert werden, sodass Sie Vorlagen in Ihrer bevorzugten Sprache erstellen können.

Wählen Sie Ihre Teamvorlage aus der Definitionsliste aus, die vom Vorgang Auflisten von Definitionen zurückgegeben wird.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{

    "templateDefinition@odata.bind": "https://graph.microsoft.com/beta/teamwork/teamTemplates/com.microsoft.teams.template.ManageAProject/definitions/Y29tLm1pY3Jvc29mdC50ZWFtcy50ZW1wbGF0ZS5NYW5hZ2VBUHJvamVjdCMjUHVibGljIyNhci1TQQ==",

    "displayName": "My Sample Team",

    "description": "My Sample Team’s Description"

}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Beispiel 8: Erstellen eines Teams mit einem nicht standardmäßigen Basisvorlagentyp mit erweiterten Eigenschaften

Basisvorlagentypen können mit zusätzlichen Eigenschaften erweitert werden, sodass Sie auf einer vorhandenen Basisvorlage mit zusätzlichen Teameinstellungen, Kanälen, Apps oder Registerkarten aufbauen können.

Weitere Informationen zu unterstützten Basisvorlagentypen und erweiterten Eigenschaften finden Sie unter Erste Schritte mit Teams-Vorlagen.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
   "template@odata.bind":"https://graph.microsoft.com/beta/teamsTemplates('educationClass')",
   "displayName":"My Class Team",
   "description":"My Class Team’s Description",
   "channels":[
      {
         "displayName":"Class Announcements 📢",
         "isFavoriteByDefault":true
      },
      {
         "displayName":"Homework 🏋️",
         "isFavoriteByDefault":true
      }
   ],
   "memberSettings":{
      "allowCreateUpdateChannels":false,
      "allowDeleteChannels":false,
      "allowAddRemoveApps":false,
      "allowCreateUpdateRemoveTabs":false,
      "allowCreateUpdateRemoveConnectors":false
   },
   "installedApps":[
      {
         "teamsApp@odata.bind":"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"
      },
      {
         "teamsApp@odata.bind":"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"
      }
   ]
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Beispiel 9: Erstellen eines Teams im Migrationsmodus

Anforderung

Das folgende Beispiel zeigt, wie Sie ein Team für importierte Nachrichten erstellen.

Hinweis: Microsoft kann in Zukunft von Ihnen oder Ihren Kunden fordern, basierend auf der Menge der importierten Daten, zusätzliche Gebühren zu zahlen.

Hinweis: Teams, die im Migrationsmodus erstellt wurden, unterstützen nur die standard-Vorlage.

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
  "@microsoft.graph.teamCreationMode": "migration",
  "template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
  "displayName": "My Sample Team",
  "description": "My Sample Team’s Description",
  "createdDateTime": "2020-03-14T11:22:17.067Z"
}

Antwort

HTTP/1.1 202 Accepted
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')

Fehlerantwort

Wenn die Anforderung nicht erfolgreich ist, gibt diese Methode einen 400 Bad Request Antwortcode zurück.

400 Bad Request

Die Folgenden sind häufige Ursachen für diese Antwort:

  • createdDateTime ist in der Zukunft festgelegt.
  • createdDateTime ist ordnungsgemäß angegeben, aber das teamCreationMode Instanz-Attribut fehlt oder ist auf einen ungültigen Wert festgelegt.

Beispiel 10: Anwendungsberechtigungen unter Verwendung des Benutzerprinzipalnamens

Im Folgenden sehen Sie ein Beispiel für eine Mindestanforderung unter Verwendung der Anwendungsberechtigungen. Durch Auslassen anderer Eigenschaften verwendet der Client implizit die Standardwerte aus der vordefinierten Vorlage, die durch template angegeben wird. Wenn Sie eine Anforderung mit Anwendungsberechtigungen erstellen, muss ein Benutzer in der members-Sammlung angegeben werden.

Anforderung

POST https://graph.microsoft.com/beta/teams
Content-Type: application/json

{
   "template@odata.bind":"https://graph.microsoft.com/beta/teamsTemplates('standard')",
   "displayName":"My Sample Team",
   "description":"My Sample Team’s Description",
   "members":[
      {
         "@odata.type":"#microsoft.graph.aadUserConversationMember",
         "roles":[
            "owner"
         ],
         "user@odata.bind":"https://graph.microsoft.com/beta/users('jacob@contoso.com')"
      }
   ]
}

Antwort

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de-1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

Siehe auch