Archivar un canal en un equipo. Cuando se archiva un canal, los usuarios no pueden enviar nuevos mensajes ni reaccionar a los mensajes existentes en el canal, editar la configuración del canal ni realizar otros cambios en el canal.
Puede eliminar un canal archivado o agregar y quitar miembros de él. Si archiva un equipo, sus canales también se archivarán.
El archivado es una operación asincrónica; un canal se archiva después de que la operación de archivado asincrónico se complete correctamente, lo que podría producirse después de que se devuelva la respuesta.
Un canal sin propietario o que pertenece a un grupo que no tiene propietario no se puede archivar.
Para restaurar un canal desde su estado archivado, use el método channel: unarchive . Un canal no se puede archivar ni desarchivar si su equipo está archivado.
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)
ChannelSettings.ReadWrite.All
No disponible.
Delegado (cuenta personal de Microsoft)
No admitida.
No admitida.
Aplicación
ChannelSettings.ReadWrite.All
No disponible.
Nota: esta API admite permisos de administrador. Los usuarios con los roles de administrador global o administrador de servicio de Microsoft Teams pueden acceder a los equipos de los que no son miembros.
Solicitud HTTP
POST /teams/{team-id}/channels/{channel-id}/archive
POST /groups/{team-id}/team/channels/{channel-id}/archive
En el cuerpo de la solicitud, opcionalmente puede proporcionar un objeto JSON con el parámetro siguiente.
Parámetro
Tipo
Descripción
shouldSetSpoSiteReadOnlyForMembers
Booleano
Define si se deben establecer permisos para que los miembros del canal sean de solo lectura en el sitio de SharePoint Online asociado al equipo. Si lo false establece en o omite el parámetro, se omitirá este paso.
En el ejemplo siguiente se muestra el cuerpo de la solicitud con shouldSetSpoSiteReadOnlyForMembers establecido en true.
{
"shouldSetSpoSiteReadOnlyForMembers": true
}
Respuesta
Si el archivado se inicia correctamente, este método devuelve un código de respuesta 202 Accepted. La respuesta contiene un Location encabezado que especifica la ubicación de teamsAsyncOperation que se creó para controlar el archivado del canal en un equipo. Compruebe el estado de la operación de archivado mediante una solicitud GET a esta ubicación.
Ejemplos
Ejemplo 1: Archivar un canal
En el ejemplo siguiente se muestra una solicitud para archivar un canal.
POST https://graph.microsoft.com/v1.0/teams/16dc05c0-2259-4540-a970-3580ff459721/channels/19:v32db348d9264477abcf18ffa2cf76dc@thread.tacv2/archive
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Teams["{team-id}"].Channels["{channel-id}"].Archive.PostAsync(null);
// 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"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Teams().ByTeamId("team-id").Channels().ByChannelId("channel-id").Archive().Post(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
graphClient.teams().byTeamId("{team-id}").channels().byChannelId("{channel-id}").archive().post(null);
<?php
use Microsoft\Graph\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$graphServiceClient->teams()->byTeamId('team-id')->channels()->byChannelId('channel-id')->archive()->post()->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
await graph_client.teams.by_team_id('team-id').channels.by_channel_id('channel-id').archive.post(None)
Ejemplo 2: Archivar un canal cuando se archiva el equipo
En el ejemplo siguiente se muestra una solicitud para archivar un canal que produce un error porque el equipo está archivado; el equipo debe estar activo para archivar o desarchivar un canal.
POST https://graph.microsoft.com/v1.0/teams/16dc05c0-2259-4540-a970-3580ff459721/channels/19:v32db348d9264477abcf18ffa2cf76dc@thread.tacv2/archive
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Teams["{team-id}"].Channels["{channel-id}"].Archive.PostAsync(null);
// 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"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Teams().ByTeamId("team-id").Channels().ByChannelId("channel-id").Archive().Post(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
graphClient.teams().byTeamId("{team-id}").channels().byChannelId("{channel-id}").archive().post(null);
<?php
use Microsoft\Graph\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$graphServiceClient->teams()->byTeamId('team-id')->channels()->byChannelId('channel-id')->archive()->post()->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
await graph_client.teams.by_team_id('team-id').channels.by_channel_id('channel-id').archive.post(None)
En el ejemplo siguiente se muestra el código de 400 Bad Request respuesta con un mensaje de error correspondiente.
http/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 193
{
"error": {
"code": "BadRequest",
"message": "Team has to be active, for channel to be archived or unarchived: {channel-id}",
"innerError": {
"message": "Team has to be active, for channel to be archived or unarchived: {channel-id}",
"code": "Unknown",
"innerError": {},
"date": "2023-12-11T04:26:35",
"request-id": "8f897345980-f6f3-49dd-83a8-a3064eeecdf8",
"client-request-id": "50a0er33-4567-3f6c-01bf-04d144fc8bbe"
}
}
}