Gerenciar o ciclo de vida de canais privados no Microsoft TeamsManage the life cycle of private channels in Microsoft Teams

Aqui você encontrará as diretrizes que você precisa gerenciar para usar a API graph para gerenciar canais privados do Teams em sua organização.Here you'll find the guidance you need to manage use the Graph API to manage Teams private channels in your organization.

Defina se os proprietários e membros podem criar canais privadosSet whether team members can create private channels

Como administrador você pode usar a API do Graph para controlar se os membros podem criar canais privados em equipes específicas.As an admin, you can use Graph API to control whether members can create private channels in specific teams. Veja um exemplo.Here's an example.

PATCH /teams/<team_id>
{"memberSettings": 
  {
    "allowCreatePrivateChannels": false
  }
}

Criar um canal privado em nome do proprietário de equipeCreate a private channel on behalf of a team owner

Como administrador, você pode usar a API do Graph para criar um canal privado em nome de um proprietário da equipe.As an admin, you can use the Graph API to create a private channel on behalf of a team owner. Por exemplo, você pode querer fazer isso se sua organização quiser centralizar a criação de canais privados.For example, you may want to do this if your organization wants to centralize creation of private channels.

POST /teams/{id}/channels
{ "membershipType": "Private",
  "displayName": "<Channel_Name>",
  "members":[{    
           "@odata.type":"#microsoft.graph.aadUserConversationMember",
           "user@odata.bind":"https://graph.microsoft.com/beta/users('<user_id>')",
           "roles":["owner"]
            }]

Obter uma lista de todas as mensagens do canal privadoGet a list of all private channel messages

Você pode obter uma lista de todas as mensagens e respostas postadas em um canal privado para propósitos de arquivo ou auditoria.You may want to get a list of all messages and replies posted in a private channel for archiving and auditing purposes. Veja aqui como usar a API do Graph para fazer isso.Here's how to use Graph API to do this.

GET /teams/{id}/channels/{id}/messages
GET /teams/{id}/channels/{id}/messages/{id}/replies/{id}

Encontrar URLs do Microsoft Office SharePoint Online para todos os canais privados em uma equipeFind SharePoint URLs for all private channels in a team

Se estiver procurando executar o eDiscovery, reter legalmente arquivos em um canal privado ou construir um aplicativo personalizado que coloca os arquivos em canais privados específicos, precisará de uma maneira de consultar os conjuntos exclusivos de sites do Microsoft Office SharePoint Online criados para cada canal privado.Whether you're looking to perform eDiscovery or legal hold on files in a private channel or looking to build a custom app that places files in specific private channels, you'll want a way to query the unique SharePoint site collections that are created for each private channel.

Como administrador, você pode usar comandos de APIs do Graph para consultar essas URLs.As an admin, you can use Graph APIs commands to query these URLs.

Você pode tentar esses comandos através do Explorador do Graph.You can try these commands through Graph Explorer.

  1. Use o seguinte para obter a lista de IDs de canal privado para uma determinada equipe, onde <group_id> é a ID de grupo da equipe.Use the following to get the list of private channel IDs for a given team, where <group_id> is the group ID of the team. Você precisará disso nas chamadas subsequentes.You'll need this in subsequent calls. (Você pode encontrar facilmente a ID de grupo no link para a equipe.)(You can easily find the group ID in the link to the team).

    SolicitaçãoRequest

    GET https://graph.microsoft.com/beta/teams/<group_id>/channels?$filter=membershipType eq 'private'
    

    RespostaResponse

    HTTP/1.1 200 OK
    Content-type: application/json
    Content-length:
    
    {
      "value": [
        {
          "description": "description-value",
          "displayName": "display-name-value",
          "id": "channel_id",
          "membershipType": "membership-type-value",
          "isFavoriteByDefault": false,
          "webUrl": "webUrl-value",
          "email": "email-value"
        }
      ]
    }
    
  2. Para cada canal privado que você quiser obter a URL do Microsoft Office SharePoint Online, faça a seguinte solicitação, onde <channel_id> é a ID do canal.For each private channel which you want to get the SharePoint URL, make the following request, where <channel_id> is the channel ID.

    SolicitaçãoRequest

    GET https://graph.microsoft.com/beta/teams/<group_id>/channels/<channel_id>/filesFolder
    

    RespostaResponse

    HTTP/1.1 200 OK
    Content-type: application/json
    Content-length:
    
    {
      "value": [
        {
          "description": "description-value",
          "displayName": "display-name-value",
          "id": "channel_id",
          "membershipType": "membership-type-value",
          "isFavoriteByDefault": false,
          "webUrl": "webUrl-value",
          "email": "email-value"
        }
      ]
    }
    

Listar e atualizar os papeis de proprietários e membros em um canal privadoList and update roles of owners and members in a private channel

Se desejar listar os proprietários e membros de um canal privado para decidir se precisa promover certos membros do canal privado para um proprietário.You may want to list out the owners and members of a private channel to decide whether you need to promote certain members of the private channel to an owner. Isso pode acontecer quando você tem proprietários de canais privados que deixaram a organização e o canal privado requer que os administradores ajudem a reivindicar a propriedade do canal.This can happen when you have owners of private channels who have left the organization and the private channel requires admin help to claim ownership of the channel.

Como administrador, você pode usar a API do Graph para executar essas ações.As an admin, you can use the Graph API to perform these actions.

Você pode tentar esses comandos através do Explorador do Graph.You can try these commands through Graph Explorer.

  1. Executar o seguinte, onde <group_id> é a ID de grupo da equipe e <channel_id> é a ID do canal.Use the following, where <group_id> is the group ID of the team and <channel_id> is the channel ID.

    SolicitaçãoRequest

    GET https://graph.microsoft.com/beta/teams/<group_id>/channels/<channel_id>/members
    

    RespostaResponse

    HTTP/1.1 200 OK Content-type: application/json
    Content-length: 
    {
          "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams({group_id}')/channels('{channel_id}')/members",
          "@odata.count": 2,
          "value": [
              {
                  "@odata.type": "#microsoft.graph.aadUserConversationMember",
                  "id": "id-value",
                  "roles": [],
                  "displayName": "display-name-value",
                  "userId": "userId-value",
                  "email": "email-value"
              },
              {
                  "@odata.type": "#microsoft.graph.aadUserConversationMember",
              "id": "id-value",
              "roles": ["owner"],
              "displayName": "display-name-value",
              "userId": "userId-value",
              "email": "email-value"
              }
          ]
    }
    
  2. Use o seguinte para promover o membro a um proprietário, onde <group_id>, <channel_id> e <id> são retornadas da chamada anterior.Use the following to promote the member to an owner, where <group_id>, <channel_id>, and <id> are returned from the previous call. Observe que <id> e <userId> retornadas das chamadas anteriores não são as mesmas e não são intercambiáveis.Note that <id> and <userId> returned from the previous call aren't the same and aren't interchangeable. Certifique-se de usar <id>.Make sure you use <id>.

    SolicitaçãoRequest

    PATCH 
    https://graph.microsoft.com/beta/teams/<group_id>/channels/<channel_id>/members/<id>
    
    {
    "@odata.type": "#microsoft.graph.aadUserConversationMember",
    "roles": ["owner"]
    }
    

    RespostaResponse

    HTTP/1.1 200 OK
    Content-type: application/json
    
    {
      "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('{group_id}')/channels('{channel_id}')/members/$entity",
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "id": "id-value",
      "roles": ["owner"],
      "displayName": "display-name-value",
      "userId": "userId-value",
      "email": "email-value"
     }
    

Usar a API do Microsoft Graph para trabalhar com o TeamsUse the Microsoft Graph API to work with Teams

Listar canaisList channels

Criar um canalCreate channel

Adicionar membro ao canalAdd member to channel

Atualizar membro no canalUpdate member in channel

Remover membro do canalRemove member from channel