Crie uma cópia de uma equipe. Essa operação também cria uma cópia do grupo correspondente.
Você pode especificar quais partes da equipe clonar:
aplicativos – copia aplicativos do Microsoft Teams instalados na equipe.
canais – copia a estrutura do canal (mas não as mensagens no canal).
membros – copia os membros e proprietários do grupo.
configurações – Copia todas as configurações dentro da equipe, juntamente com as configurações de grupo de chaves.
guias – Copia as guias nos canais.
Observação
Esse método não tem suporte para equipes de toda a organização.
Observação
Um problema conhecido relacionado aos proprietários de equipes clonadas está associado a esse método. Para mais detalhes, confira Problemas conhecidos.
Quando as guias são clonadas, elas não são configuradas. As guias são exibidas na barra de guias no Microsoft Teams e, na primeira vez que um usuário as abre, elas devem passar pela tela de configuração.
Se o usuário que abre a guia não tiver permissão para configurar aplicativos, verá uma mensagem que diz que a guia não está configurada.
A clonagem é uma operação de longa execução. Depois que o clone POST retornar, você precisará OBTER a operação retornada pelo Location: cabeçalho para ver se é running, succeededou failed. Você deve continuar a OBTER até que o status não runningseja . O atraso recomendado entre GETs é de 5 segundos.
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão
Permissões menos privilegiadas
Permissões privilegiadas mais altas
Delegado (conta corporativa ou de estudante)
Team.Create
Directory.ReadWrite.All, Group.ReadWrite.All
Delegado (conta pessoal da Microsoft)
Sem suporte.
Sem suporte.
Application
Team.Create
Directory.ReadWrite.All, Group.ReadWrite.All
Observação
O Group.ReadWrite.All e o Directory.ReadWrite.All têm suporte apenas para compatibilidade com versões anteriores. Recomendamos que você atualize suas soluções para usar uma permissão alternativa listada na tabela anterior e evite usar essas permissões daqui para frente.
Descreve uma classificação para o grupo (como baixo, médio ou alto impacto nos negócios). Se a classificação não for especificada, a classificação será copiada da equipe/grupo original.
description
Cadeia de caracteres (opcional)
Uma descrição opcional para o grupo. Se essa propriedade não for especificada, ela ficará em branco.
displayName
String
O nome de exibição do grupo. Essa propriedade é necessária quando um grupo é criado e não pode ser desmarcada durante as atualizações. Oferece suporte a $filter e $orderby.
mailNickname
String
O alias de email do grupo, exclusivo na organização. Essa propriedade deve ser especificada quando um grupo é criado. Oferece suporte para filter. Se essa propriedade não for especificada, ela será calculada a partir do displayName. Atualmente, essa propriedade é ignorada.
Especifica a visibilidade do grupo. Os valores possíveis são: privado, público. Se a visibilidade não for especificada, a visibilidade será copiada da equipe/grupo original. Se a equipe que está sendo clonada for uma equipe educationClass , o parâmetro de visibilidade será ignorado e a visibilidade do novo grupo será definida como HiddenMembership.
Observação
Se a propriedade de descrição não for especificada no corpo da solicitação, ela usará o valor da propriedade displayName do conteúdo da solicitação.
Resposta
Se for bem-sucedido, esse método retornará um 202 Accepted código de resposta com um Local: cabeçalho apontando para o recurso de operação .
Quando a operação for concluída, o recurso de operação informa a ID da equipe criada.
POST https://graph.microsoft.com/v1.0/teams/{id}/clone
Content-Type: application/json
{
"displayName": "Library Assist",
"description": "Self help community for library",
"mailNickname": "libassist",
"partsToClone": "apps,tabs,settings,channels,members",
"visibility": "public"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Teams.Item.Clone;
using Microsoft.Graph.Models;
var requestBody = new ClonePostRequestBody
{
DisplayName = "Library Assist",
Description = "Self help community for library",
MailNickname = "libassist",
PartsToClone = ClonableTeamParts.Apps | ClonableTeamParts.Tabs | ClonableTeamParts.Settings | ClonableTeamParts.Channels | ClonableTeamParts.Members,
Visibility = TeamVisibilityType.Public,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Teams["{team-id}"].Clone.PostAsync(requestBody);
mgc teams clone post --team-id {team-id} --body '{\
"displayName": "Library Assist",\
"description": "Self help community for library",\
"mailNickname": "libassist",\
"partsToClone": "apps,tabs,settings,channels,members",\
"visibility": "public"\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphteams "github.com/microsoftgraph/msgraph-sdk-go/teams"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphteams.NewClonePostRequestBody()
displayName := "Library Assist"
requestBody.SetDisplayName(&displayName)
description := "Self help community for library"
requestBody.SetDescription(&description)
mailNickname := "libassist"
requestBody.SetMailNickname(&mailNickname)
partsToClone := graphmodels.APPS,TABS,SETTINGS,CHANNELS,MEMBERS_CLONABLETEAMPARTS
requestBody.SetPartsToClone(&partsToClone)
visibility := graphmodels.PUBLIC_TEAMVISIBILITYTYPE
requestBody.SetVisibility(&visibility)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Teams().ByTeamId("team-id").Clone().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.teams.item.clone.ClonePostRequestBody clonePostRequestBody = new com.microsoft.graph.teams.item.clone.ClonePostRequestBody();
clonePostRequestBody.setDisplayName("Library Assist");
clonePostRequestBody.setDescription("Self help community for library");
clonePostRequestBody.setMailNickname("libassist");
clonePostRequestBody.setPartsToClone(EnumSet.of(ClonableTeamParts.Apps, ClonableTeamParts.Tabs, ClonableTeamParts.Settings, ClonableTeamParts.Channels, ClonableTeamParts.Members));
clonePostRequestBody.setVisibility(TeamVisibilityType.Public);
graphClient.teams().byTeamId("{team-id}").clone().post(clonePostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Teams\Item\Clone\ClonePostRequestBody;
use Microsoft\Graph\Generated\Models\ClonableTeamParts;
use Microsoft\Graph\Generated\Models\TeamVisibilityType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ClonePostRequestBody();
$requestBody->setDisplayName('Library Assist');
$requestBody->setDescription('Self help community for library');
$requestBody->setMailNickname('libassist');
$requestBody->setPartsToClone(new ClonableTeamParts('apps,tabs,settings,channels,members'));
$requestBody->setVisibility(new TeamVisibilityType('public'));
$graphServiceClient->teams()->byTeamId('team-id')->escapedClone()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.teams.item.clone.clone_post_request_body import ClonePostRequestBody
from msgraph.generated.models.clonable_team_parts import ClonableTeamParts
from msgraph.generated.models.team_visibility_type import TeamVisibilityType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ClonePostRequestBody(
display_name = "Library Assist",
description = "Self help community for library",
mail_nickname = "libassist",
parts_to_clone = ClonableTeamParts.Apps | ClonableTeamParts.Tabs | ClonableTeamParts.Settings | ClonableTeamParts.Channels | ClonableTeamParts.Members,
visibility = TeamVisibilityType.Public,
)
await graph_client.teams.by_team_id('team-id').clone.post(request_body)