Архивация канала в команде. При архивации канала пользователи не могут отправлять новые сообщения или реагировать на существующие сообщения в канале, изменять параметры канала или вносить другие изменения в канал.
Вы можете удалить архивный канал или добавить и удалить из него участников. Если вы архивируете команду, ее каналы также архивируются.
Архивация — это асинхронная операция; канал архивируется после успешного завершения асинхронной операции архивации, которая может произойти после возврата ответа.
Канал без владельца или , принадлежащий группе , которая не имеет владельца, не может быть архивирован.
Чтобы восстановить канал из архивного состояния, используйте метод channel: unarchive . Невозможно заархивировать или разархивировать канал, если заархивирована его команда.
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
ChannelSettings.ReadWrite.All
Недоступно.
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Приложение
ChannelSettings.ReadWrite.All
Недоступно.
Примечание. Этот API поддерживает разрешения администратора. Пользователи с ролями глобального администратора или администратора служб Microsoft Teams могут получать доступ к командам, участниками которых они не являются.
HTTP-запрос
POST /teams/{team-id}/channels/{channel-id}/archive
POST /groups/{team-id}/team/channels/{channel-id}/archive
В тексте запроса можно при необходимости указать объект JSON со следующим параметром.
Параметр
Тип
Описание
shouldSetSpoSiteReadOnlyForMembers
Логический
Определяет, следует ли задать участникам канала разрешения только для чтения на сайте SharePoint Online, связанном с командой. Если задать значение false или опустить параметр, этот шаг будет пропущен.
В следующем примере показан текст запроса с параметром shouldSetSpoSiteReadOnlyForMembers , равным true.
{
"shouldSetSpoSiteReadOnlyForMembers": true
}
Отклик
Если архивация начата успешно, этот метод возвращает код отклика 202 Accepted. Ответ содержит Location заголовок, указывающий расположение teamsAsyncOperation , созданной для архивации канала в команде. Проверьте состояние операции архивации, выполнив запрос GET для этого расположения.
Примеры
Пример 1. Архивация канала
В следующем примере показан запрос на архивирование канала.
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://video2.skills-academy.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://video2.skills-academy.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://video2.skills-academy.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)
В следующем примере показан запрос на архивирование канала, который завершается сбоем из-за архива команды. команда должна быть активной, чтобы архивировать или разархивировать канал.
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://video2.skills-academy.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://video2.skills-academy.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://video2.skills-academy.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)
В следующем примере показан 400 Bad Request код ответа с соответствующим сообщением об ошибке.
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"
}
}
}