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:
apps - copia Microsoft Teams aplicativos 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 principais configurações de grupo.
guias – Copia as guias dentro dos canais.
Quando as guias são clonadas, elas são colocadas em um estado não configurado - elas são exibidas na barra de guias no Microsoft Teams e, na primeira vez que você abri-las, você vai passar pela tela de configuração. (Se a pessoa que abre a guia não tiver permissão para configurar aplicativos, ela verá uma mensagem explicando que a guia não foi configurada.)
A clonagem é uma operação de longa duração.
Depois que o clone POST retorna, você precisa OBTER a operação para ver se ela está "em execução" ou "bem-sucedida" ou "falhou". Você deve continuar a OBTER até que o status não seja "em execução". O atraso recomendado entre GETs é de 5 segundos.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Observação: as permissões marcadas com ** 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 adiante.
Solicitação HTTP
POST /teams/{id}/clone
Cabeçalhos de solicitação
Cabeçalho
Valor
Autorização
{token} de portador. Obrigatório.
Content-Type
application/json
Corpo da solicitação
Propriedade
Tipo
Descrição
classificação
Cadeia de caracteres (opcional)
Descreve uma classificação para o grupo (como baixo, médio ou alto impacto comercial). 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 é obrigatória quando um grupo é criado e não pode ser apagado durante 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 a $filter. Se essa propriedade não for especificada, ela será calculada a partir do displayName. Problema conhecido: essa propriedade é ignorada no momento.
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.
Resposta
Se tiver êxito, este método retornará um 202 Accepted código de resposta com um header Location: apontando para o recurso de operação.
Quando a operação for concluída, o recurso de operação dirá a id da equipe criada.
POST /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"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var displayName = "Library Assist";
var description = "Self help community for library";
var mailNickname = "libassist";
var partsToClone = ClonableTeamParts.Apps | ClonableTeamParts.Tabs | ClonableTeamParts.Settings | ClonableTeamParts.Channels | ClonableTeamParts.Members;
var visibility = TeamVisibilityType.Public;
await graphClient.Teams["{team-id}"]
.Clone(visibility,partsToClone,displayName,description,mailNickname,null)
.Request()
.PostAsync();