Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Получение списка каналов в команде.
Заметка: Гостевые пользователи не могут видеть частные или общие каналы, участниками которых они не являются, в ответе для этого API.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Этот API поддерживает разрешения администратора. Пользователи с ролями глобального администратора или администратора службы Microsoft Teams могут получать доступ к командам, в которых они не являются.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
Channel.ReadBasic.All |
ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All, Group.ReadWrite.All, Group.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
ChannelSettings.Read.Group |
Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, ChannelSettings.ReadWrite.Group, Directory.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Group.ReadWrite.All |
Примечание.
- Разрешения ChannelSettings.Read.Group и ChannelSettings.ReadWrite.Group используют согласие для конкретного ресурса.
- Разрешения Group.Read.All, Group.ReadWrite.All, Directory.Read.All и Directory.ReadWrite.All поддерживаются только для обратной совместимости. Рекомендуется обновить решения, чтобы использовать другое разрешение, указанное в предыдущей таблице, и избегать использования этих разрешений в будущем.
HTTP-запрос
GET /teams/{team-id}/channels
Необязательные параметры запросов
Этот метод поддерживает $filter
параметры запроса OData и $select
для настройки ответа.
Заполнение свойства электронной почты для канала является дорогостоящей операцией, которая приводит к снижению производительности. Используйте $select
для исключения свойства электронной почты для повышения производительности.
Примечание. Этот API не возвращает свойство moderationSettings для канала по умолчанию. Чтобы получить это свойство, используйте $select
параметр запроса.
Текст запроса
Не указывайте текст запроса для этого метода.
Отклик
В случае успеха этот метод возвращает код отклика 200 OK
и коллекцию объектов Channel в тексте отклика.
Примеры
Пример 1. Список всех каналов
Запрос
Ниже показан пример запроса для получения списка всех каналов.
GET https://graph.microsoft.com/beta/teams/893075dd-2487-4122-925f-022c42e20265/channels
// 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
var result = await graphClient.Teams["{team-id}"].Channels.GetAsync();
mgc-beta teams channels list --team-id {team-id}
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
channels, err := graphClient.Teams().ByTeamId("team-id").Channels().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ChannelCollectionResponse result = graphClient.teams().byTeamId("{team-id}").channels().get();
const options = {
authProvider,
};
const client = Client.init(options);
let channels = await client.api('/teams/893075dd-2487-4122-925f-022c42e20265/channels')
.version('beta')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->teams()->byTeamId('team-id')->channels()->get()->wait();
Import-Module Microsoft.Graph.Beta.Teams
Get-MgBetaTeamChannel -TeamId $teamId
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.teams.by_team_id('team-id').channels.get()
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "19:[email protected]",
"createdDateTime": "2020-05-27T19:22:25.692Z",
"displayName": "General",
"description": "AutoTestTeam_20210311_150740.2550_fim3udfdjen9",
"membershipType": "standard",
"email": "[email protected]",
"moderationSettings": null,
"isArchived": false
}
]
}
Пример 2. Список всех закрытых каналов
Запрос
Ниже показан пример запроса для получения списка всех закрытых каналов.
GET https://graph.microsoft.com/beta/teams/64c323f2-226a-4e64-8ba4-3e6e3f7b9330/channels?$filter=membershipType eq 'private'
// 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
var result = await graphClient.Teams["{team-id}"].Channels.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Filter = "membershipType eq 'private'";
});
mgc-beta teams channels list --team-id {team-id} --filter "membershipType eq 'private'"
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphteams "github.com/microsoftgraph/msgraph-beta-sdk-go/teams"
//other-imports
)
requestFilter := "membershipType eq 'private'"
requestParameters := &graphteams.ItemChannelsRequestBuilderGetQueryParameters{
Filter: &requestFilter,
}
configuration := &graphteams.ItemChannelsRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
channels, err := graphClient.Teams().ByTeamId("team-id").Channels().Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ChannelCollectionResponse result = graphClient.teams().byTeamId("{team-id}").channels().get(requestConfiguration -> {
requestConfiguration.queryParameters.filter = "membershipType eq 'private'";
});
const options = {
authProvider,
};
const client = Client.init(options);
let channels = await client.api('/teams/64c323f2-226a-4e64-8ba4-3e6e3f7b9330/channels')
.version('beta')
.filter('membershipType eq \'private\'')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Channels\ChannelsRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new ChannelsRequestBuilderGetRequestConfiguration();
$queryParameters = ChannelsRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->filter = "membershipType eq 'private'";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->teams()->byTeamId('team-id')->channels()->get($requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Teams
Get-MgBetaTeamChannel -TeamId $teamId -Filter "membershipType eq 'private'"
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.teams.item.channels.channels_request_builder import ChannelsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = ChannelsRequestBuilder.ChannelsRequestBuilderGetQueryParameters(
filter = "membershipType eq 'private'",
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.teams.by_team_id('team-id').channels.get(request_configuration = request_configuration)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "19:[email protected]",
"createdDateTime": "2020-05-27T19:22:25.692Z",
"displayName": "General",
"description": "test private team",
"membershipType": "private",
"isArchived": false,
}
]
}
Пример 3. Список всех общих каналов
Запрос
Ниже показан пример запроса для получения списка всех общих каналов.
GET https://graph.microsoft.com/beta/teams/6a720ba5-7373-463b-bc9f-4cd04b5c6742/channels?$filter=membershipType eq 'shared'
// 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
var result = await graphClient.Teams["{team-id}"].Channels.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Filter = "membershipType eq 'shared'";
});
mgc-beta teams channels list --team-id {team-id} --filter "membershipType eq 'shared'"
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphteams "github.com/microsoftgraph/msgraph-beta-sdk-go/teams"
//other-imports
)
requestFilter := "membershipType eq 'shared'"
requestParameters := &graphteams.ItemChannelsRequestBuilderGetQueryParameters{
Filter: &requestFilter,
}
configuration := &graphteams.ItemChannelsRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
channels, err := graphClient.Teams().ByTeamId("team-id").Channels().Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ChannelCollectionResponse result = graphClient.teams().byTeamId("{team-id}").channels().get(requestConfiguration -> {
requestConfiguration.queryParameters.filter = "membershipType eq 'shared'";
});
const options = {
authProvider,
};
const client = Client.init(options);
let channels = await client.api('/teams/6a720ba5-7373-463b-bc9f-4cd04b5c6742/channels')
.version('beta')
.filter('membershipType eq \'shared\'')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Channels\ChannelsRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new ChannelsRequestBuilderGetRequestConfiguration();
$queryParameters = ChannelsRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->filter = "membershipType eq 'shared'";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->teams()->byTeamId('team-id')->channels()->get($requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Teams
Get-MgBetaTeamChannel -TeamId $teamId -Filter "membershipType eq 'shared'"
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.teams.item.channels.channels_request_builder import ChannelsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = ChannelsRequestBuilder.ChannelsRequestBuilderGetQueryParameters(
filter = "membershipType eq 'shared'",
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.teams.by_team_id('team-id').channels.get(request_configuration = request_configuration)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 262
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('6a720ba5-7373-463b-bc9f-4cd04b5c6742')/channels",
"@odata.count": 1,
"value": [
{
"id": "19:[email protected]",
"createdDateTime": null,
"displayName": "shared channel-01",
"description": "this is the shared channel description",
"isFavoriteByDefault": null,
"webUrl": "https://teams.microsoft.com/l/channel/19%3ALpxShHZZh9utjNcEmUS5aOEP9ASw85OUn05NcWYAhX81%40thread.tacv2/shared%20channel-01?groupId=6a720ba5-7373-463b-bc9f-4cd04b5c6742&tenantId=df81db53-c7e2-418a-8803-0e68d4b88607",
"membershipType": "shared",
"email": "[email protected]",
"isArchived": false,
"moderationSettings": null
}
]
}
Связанные материалы
Ограничения регулирования для служб, связанных с Microsoft Graph