Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Atualize as propriedades do canal especificado.
Observação
Quando utilizada com permissões de aplicação, esta API é limitada. Suporta o model=A modelo de pagamento. Para obter detalhes, veja Modelos de pagamento. Se não especificar um modelo de pagamento na consulta, será utilizado o modo de avaliação predefinido.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
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.
Esta API suporta permissões de administrador. Os administradores de serviços do Microsoft Teams podem aceder às equipas das quais não são membros.
| 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 |
Directory.ReadWrite.All, Group.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
ChannelSettings.ReadWrite.Group |
ChannelSettings.ReadWrite.All, Directory.ReadWrite.All, Group.ReadWrite.All |
Observação
- As permissões ChannelSettings.ReadWrite.Group utilizam o consentimento específico do recurso.
- As permissões Group.ReadWrite.All e Directory.ReadWrite.All e são suportadas apenas para retrocompatibilidade. Recomendamos que você atualize suas soluções para usar uma permissão alternativa listada na tabela anterior e evite usar essas permissões daqui para frente.
Solicitação HTTP
PATCH /teams/{team-id}/channels/{channel-id}
| Cabeçalho |
Valor |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, fornça uma representação JSON do objeto canal.
Nota: Não é possível atualizar o membershipType valor de um canal existente.
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No Content.
Exemplo
Exemplo 1: Atualizar canal
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/teams/893075dd-2487-4122-925f-022c42e20265/channels/19:561fbdbbfca848a484f0a6f00ce9dbbd@thread.tacv2
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 2: Atualizar o canal com definições de moderação
Solicitação
O exemplo seguinte mostra um pedido para atualizar as definições de moderação de um canal. Apenas os proprietários da equipa podem efetuar esta operação.
PATCH https://graph.microsoft.com/beta/teams/893075dd-2487-4122-925f-022c42e20265/channels/19:561fbdbbfca848a484f0a6f00ce9dbbd@thread.tacv2
Content-type: application/json
{
"displayName": "UpdateChannelModeration",
"description": "Update channel moderation.",
"moderationSettings": {
"userNewMessageRestriction": "moderators",
"replyRestriction": "everyone",
"allowNewMessageFromBots": true,
"allowNewMessageFromConnectors": true
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Channel
{
DisplayName = "UpdateChannelModeration",
Description = "Update channel moderation.",
ModerationSettings = new ChannelModerationSettings
{
UserNewMessageRestriction = UserNewMessageRestriction.Moderators,
ReplyRestriction = ReplyRestriction.Everyone,
AllowNewMessageFromBots = true,
AllowNewMessageFromConnectors = true,
},
};
// 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["{channel-id}"].PatchAsync(requestBody);
// 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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewChannel()
displayName := "UpdateChannelModeration"
requestBody.SetDisplayName(&displayName)
description := "Update channel moderation."
requestBody.SetDescription(&description)
moderationSettings := graphmodels.NewChannelModerationSettings()
userNewMessageRestriction := graphmodels.MODERATORS_USERNEWMESSAGERESTRICTION
moderationSettings.SetUserNewMessageRestriction(&userNewMessageRestriction)
replyRestriction := graphmodels.EVERYONE_REPLYRESTRICTION
moderationSettings.SetReplyRestriction(&replyRestriction)
allowNewMessageFromBots := true
moderationSettings.SetAllowNewMessageFromBots(&allowNewMessageFromBots)
allowNewMessageFromConnectors := true
moderationSettings.SetAllowNewMessageFromConnectors(&allowNewMessageFromConnectors)
requestBody.SetModerationSettings(moderationSettings)
// 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().ByChannelId("channel-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Channel channel = new Channel();
channel.setDisplayName("UpdateChannelModeration");
channel.setDescription("Update channel moderation.");
ChannelModerationSettings moderationSettings = new ChannelModerationSettings();
moderationSettings.setUserNewMessageRestriction(UserNewMessageRestriction.Moderators);
moderationSettings.setReplyRestriction(ReplyRestriction.Everyone);
moderationSettings.setAllowNewMessageFromBots(true);
moderationSettings.setAllowNewMessageFromConnectors(true);
channel.setModerationSettings(moderationSettings);
Channel result = graphClient.teams().byTeamId("{team-id}").channels().byChannelId("{channel-id}").patch(channel);
const options = {
authProvider,
};
const client = Client.init(options);
const channel = {
displayName: 'UpdateChannelModeration',
description: 'Update channel moderation.',
moderationSettings: {
userNewMessageRestriction: 'moderators',
replyRestriction: 'everyone',
allowNewMessageFromBots: true,
allowNewMessageFromConnectors: true
}
};
await client.api('/teams/893075dd-2487-4122-925f-022c42e20265/channels/19:561fbdbbfca848a484f0a6f00ce9dbbd@thread.tacv2')
.version('beta')
.update(channel);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Channel;
use Microsoft\Graph\Beta\Generated\Models\ChannelModerationSettings;
use Microsoft\Graph\Beta\Generated\Models\UserNewMessageRestriction;
use Microsoft\Graph\Beta\Generated\Models\ReplyRestriction;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Channel();
$requestBody->setDisplayName('UpdateChannelModeration');
$requestBody->setDescription('Update channel moderation.');
$moderationSettings = new ChannelModerationSettings();
$moderationSettings->setUserNewMessageRestriction(new UserNewMessageRestriction('moderators'));
$moderationSettings->setReplyRestriction(new ReplyRestriction('everyone'));
$moderationSettings->setAllowNewMessageFromBots(true);
$moderationSettings->setAllowNewMessageFromConnectors(true);
$requestBody->setModerationSettings($moderationSettings);
$result = $graphServiceClient->teams()->byTeamId('team-id')->channels()->byChannelId('channel-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
displayName = "UpdateChannelModeration"
description = "Update channel moderation."
moderationSettings = @{
userNewMessageRestriction = "moderators"
replyRestriction = "everyone"
allowNewMessageFromBots = $true
allowNewMessageFromConnectors = $true
}
}
Update-MgBetaTeamChannel -TeamId $teamId -ChannelId $channelId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.channel import Channel
from msgraph_beta.generated.models.channel_moderation_settings import ChannelModerationSettings
from msgraph_beta.generated.models.user_new_message_restriction import UserNewMessageRestriction
from msgraph_beta.generated.models.reply_restriction import ReplyRestriction
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Channel(
display_name = "UpdateChannelModeration",
description = "Update channel moderation.",
moderation_settings = ChannelModerationSettings(
user_new_message_restriction = UserNewMessageRestriction.Moderators,
reply_restriction = ReplyRestriction.Everyone,
allow_new_message_from_bots = True,
allow_new_message_from_connectors = True,
),
)
result = await graph_client.teams.by_team_id('team-id').channels.by_channel_id('channel-id').patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 4: Atualizar o tipo de esquema de um canal
Este exemplo mostra como atualizar o tipo de esquema de um canal existente de post para chat.
Solicitação
O exemplo seguinte mostra um pedido para alterar o esquema de um canal do formato pós-resposta tradicional para uma experiência de threading semelhante a um chat.
PATCH https://graph.microsoft.com/beta/teams/893075dd-2487-4122-925f-022c42e20265/channels/19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2
Content-type: application/json
{
"layoutType": "chat"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 5: Mudar um canal de volta para o tipo de esquema de publicação
Este exemplo mostra como converter um canal de esquema de chat de volta para o formato pós-resposta tradicional.
Solicitação
PATCH https://graph.microsoft.com/beta/teams/893075dd-2487-4122-925f-022c42e20265/channels/19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2
Content-type: application/json
{
"layoutType": "post"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Conteúdo relacionado
Limites de limitação específicos do serviço do Microsoft Graph