Arquivar um canal numa equipa. Quando um canal é arquivado, os utilizadores não podem enviar novas mensagens ou reagir a mensagens existentes no canal, editar as definições do canal ou fazer outras alterações ao canal.
Pode eliminar um canal arquivado ou adicionar e remover membros do mesmo. Se arquivar uma equipa, os respetivos canais também serão arquivados.
O arquivo é uma operação assíncrona; Um canal é arquivado após a conclusão com êxito da operação de arquivo assíncrona, o que pode ocorrer após a resposta ser devolvida.
Não é possível arquivar um canal sem um proprietário ou que pertença a um grupo que não tem proprietário.
Para restaurar um canal a partir do respetivo estado arquivado, utilize o canal: método unarchive . Um canal não pode ser arquivado ou arquivado se a sua equipa estiver arquivada.
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão
Permissões com menos privilégios
Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante)
ChannelSettings.ReadWrite.All
Indisponível.
Delegado (conta pessoal da Microsoft)
Sem suporte.
Sem suporte.
Application
ChannelSettings.ReadWrite.All
Indisponível.
Observação: esta API oferece transporte a permissões de administrador. Os utilizadores com as funções de Administrador Global ou administrador de serviço do Microsoft Teams podem aceder às equipas das quais não são membros.
Solicitação HTTP
POST /teams/{team-id}/channels/{channel-id}/archive
POST /groups/{team-id}/team/channels/{channel-id}/archive
No corpo do pedido, opcionalmente, pode fornecer um objeto JSON com o seguinte parâmetro.
Parâmetro
Tipo
Descrição
shouldSetSpoSiteReadOnlyForMembers
Booliano
Define se pretende definir permissões para os membros do canal para só de leitura no site do SharePoint Online associado à equipa. Se o definir como false ou omitir o parâmetro, este passo é ignorado.
O exemplo seguinte mostra o corpo do pedido com shouldSetSpoSiteReadOnlyForMembers definido comotrue.
{
"shouldSetSpoSiteReadOnlyForMembers": true
}
Resposta
Se o arquivamento for iniciado com êxito, esse método retornará um código de resposta 202 Accepted. A resposta contém um Location cabeçalho que especifica a localização do teamsAsyncOperation que foi criado para processar o arquivo do canal numa equipa. Verifique o status da operação de arquivamento fazendo uma solicitação GET para esse local.
Exemplos
Exemplo 1: Arquivar um canal
O exemplo seguinte mostra um pedido para arquivar um 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)
Exemplo 2: Arquivar um canal quando a equipa é arquivada
O exemplo seguinte mostra um pedido para arquivar um canal que falha porque a equipa está arquivada; a equipa tem de estar ativa para arquivar ou desarcultar um 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)
O exemplo seguinte mostra o 400 Bad Request código de resposta com uma mensagem de erro correspondente.
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"
}
}
}