Cree una copia de un equipo. Esta operación también crea una copia del grupo correspondiente.
Puede especificar qué partes del equipo se van a clonar:
apps : copia las aplicaciones de Microsoft Teams instaladas en el equipo.
channels : copia la estructura del canal (pero no los mensajes del canal).
members : copia los miembros y propietarios del grupo.
configuración : copia toda la configuración del equipo, junto con la configuración del grupo de claves.
pestañas : copia las pestañas dentro de los canales.
Nota:
Este método no es compatible con los equipos de toda la organización.
Nota:
Un problema conocido relacionado con los propietarios de equipos clonados está asociado a este método. Para obtener más información, consulte Problemas conocidos.
Cuando se clonan las pestañas, no se configuran. Las pestañas se muestran en la barra de pestañas de Microsoft Teams y, la primera vez que un usuario las abre, deben pasar por la pantalla de configuración.
Si el usuario que abre la pestaña no tiene permiso para configurar aplicaciones, verá un mensaje que indica que la pestaña no está configurada.
La clonación es una operación de larga duración. Una vez devuelto el clon POST, debe obtener la operación devuelta por el Location: encabezado para ver si es running, succeededo failed. Debe continuar con GET hasta que el estado no runningsea . El retraso recomendado entre los GET es de 5 segundos.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso
Permisos con privilegios mínimos
Permisos con privilegios más altos
Delegado (cuenta profesional o educativa)
Team.Create
Directory.ReadWrite.All, Group.ReadWrite.All
Delegado (cuenta personal de Microsoft)
No admitida.
No admitida.
Aplicación
Team.Create
Directory.ReadWrite.All, Group.ReadWrite.All
Nota:
Group.ReadWrite.All y Directory.ReadWrite.All solo se admiten por compatibilidad con versiones anteriores. Se recomienda actualizar las soluciones para usar un permiso alternativo enumerado en la tabla anterior y así evitar el uso de estos permisos en el futuro.
Describe una clasificación para el grupo (como impacto empresarial bajo, medio o alto). Si no se especifica la clasificación, la clasificación se copia del equipo o grupo original.
description
Cadena (opcional)
Una descripción opcional del grupo. Si no se especifica esta propiedad, se deja en blanco.
displayName
Cadena
El nombre para mostrar del grupo. Esta propiedad es necesaria cuando se crea un grupo y no se puede borrar durante las actualizaciones. Es compatible con $filter y $orderby.
mailNickname
String
El alias de correo del grupo, único en la organización. Esta propiedad debe especificarse al crear un grupo. Admite filter. Si no se especifica esta propiedad, se calcula a partir de displayName. Esta propiedad se omite actualmente.
Especifica la visibilidad del grupo. Los valores posibles son: Private, Public. Si no se especifica visibilidad, la visibilidad se copia del equipo o grupo original. Si el equipo que se va a clonar es un equipo de educationClass , se omite el parámetro de visibilidad y la visibilidad del nuevo grupo se establecerá en HiddenMembership.
Nota:
Si la propiedad description no se especifica en el cuerpo de la solicitud, toma el valor de la propiedad displayName de la carga de la solicitud.
Respuesta
Si se ejecuta correctamente, este método devuelve un 202 Accepted código de respuesta con un encabezado Location: que apunta al recurso de operación .
Una vez completada la operación, el recurso de operación le indica el identificador del equipo creado.
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)