Enumerar todos los equipos en Microsoft Teams para una organización

Para usar la API de Microsoft Teams en Microsoft Graph para enumerar todos los equipos en una organización (espacio empresarial), encontrará todos los grupos con equipos y, a continuación, obtendrá la información de cada uno de ellos.

Obtener una lista de grupos

Ejemplo 1: Obtener una lista de los grupos que contengan equipo

Para obtener una lista de todos los grupos de la organización que tienen equipos, obtenga primero una lista de todos los grupos y, después, encuentre en el código los que tengan una propiedad resourceProvisioningOptions que contenga “Equipo”.

Use la API con $filter para devolver solo los grupos que tienen equipos.

Solicitud

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

Nota:

Habrá equipos antiguos sin usar que no tengan configurado resourceProvisioningOptions. Para obtener más información, consulte problemas conocidos.

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Puede que se acorte el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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"
        }
    ]
}

Ejemplo 2: Obtener una lista de grupos seleccionando solo las propiedades necesarias

Dado que los grupos son objetos de gran tamaño, use $select para obtener únicamente las propiedades del grupo que le interesan.

Solicitud

GET /groups?$select=id,resourceProvisioningOptions

Nota:

Habrá equipos antiguos sin usar que no tengan configurado resourceProvisioningOptions. Para obtener más información, consulte problemas conocidos.

Respuesta

En el ejemplo siguiente se muestra la respuesta.

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"
            ]
        }
    ]
}

Obtener información de un equipo para un grupo

Para obtener información de equipo para el equipo de un grupo determinado, llame a la API obtener grupo e incluya el Id. de grupo.

Solicitud

GET /teams/{group-id}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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
  }
}