Listar todas as equipes do Microsoft Teams para uma organização

Ao usar a API do Microsoft Teams no Microsoft Graph para listar todas as equipes em uma organização (locatário), você encontra todos os grupos que têm equipes e, em seguida, obtém informações de cada equipe.

Obter uma lista de grupos

Exemplo 1: obter uma lista de grupos que contêm uma equipe

Para obter uma lista de todos os grupos da organização que têm equipes, obtenha uma lista de todos os grupos e, em seguida, localize em código os que têm uma propriedade resourceProvisioningOptions que contém “Team”.

Use a API com $filter para retornar apenas os grupos que têm equipes.

Solicitação

GET /groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team')

Observação

Certas equipes antigas não utilizadas não terão a configuração resourceProvisioningOptions. Para saber mais, confira problemas conhecidos.

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado com fins de legibilidade.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups",
    "value": [
        {
            "id": "02bd9fd6-8f93-4758-87c3-1fb73740a315",
            "description": "Welcome to the HR Taskforce team.",
            "displayName": "HR Taskforce",
            "groupTypes": [
                "Unified"
            ],
            "mailEnabled": true,
            "mailNickname": "HRTaskforce",
            "resourceBehaviorOptions": [],
            "resourceProvisioningOptions": [
                "Team"
            ],
            "securityEnabled": false,
            "visibility": "Private"
        },
        {
            "id": "8090c93e-ba7c-433e-9f39-08c7ba07c0b3",
            "description": "Welcome to the team that we've assembled to launch our product.",
            "displayName": "X1050 Launch Team",
            "groupTypes": [
                "Unified"
            ],
            "mailEnabled": true,
            "mailNickname": "X1050LaunchTeam",
            "resourceBehaviorOptions": [],
            "resourceProvisioningOptions": [
                "Team"
            ],
            "securityEnabled": false,
            "visibility": "Private"
        }
    ]
}

Exemplo 2: obter lista de grupos selecionando apenas as propriedades necessárias

Como os grupos são objetos grandes, use $select para obter as propriedades apenas do grupo que importa para você.

Solicitação

GET /groups?$select=id,resourceProvisioningOptions

Observação

Certas equipes antigas não utilizadas não terão a configuração resourceProvisioningOptions. Para saber mais, confira problemas conhecidos.

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups",
    "value": [
        {
            "id": "00e897b1-70ba-4cb9-9126-fd5f95c4bb78",
            "resourceProvisioningOptions": []
        },
        {
            "id": "00f6e045-f884-4359-a617-d459ee626862",
            "resourceProvisioningOptions": [
                "Team"
            ]
        }
    ]
}

Obter informações de equipe para um grupo

Para obter informações de equipe para a equipe de um grupo específico, chame a API get team e incluam a ID do grupo.

Solicitação

GET /teams/{group-id}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-type: application/json

{
  "isArchived" : false,
  "memberSettings": {
    "allowCreateUpdateChannels": true,
    "allowDeleteChannels": true,
    "allowAddRemoveApps": true,
    "allowCreateUpdateRemoveTabs": true,
    "allowCreateUpdateRemoveConnectors": true    
  },
  "guestSettings": {
    "allowCreateUpdateChannels": true,
    "allowDeleteChannels": true 
  },
  "messagingSettings": {
    "allowUserEditMessages": true,
    "allowUserDeleteMessages": true,
    "allowOwnerDeleteMessages": true,
    "allowTeamMentions": true,
    "allowChannelMentions": true    
  },
  "funSettings": {
    "allowGiphy": true,
    "giphyContentRating": "strict",
    "allowStickersAndMemes": true,
    "allowCustomMemes": true
  }
}