Répertorier toutes les équipes dans Microsoft Teams pour une organisation

Pour utiliser l’API Microsoft Teams dans Microsoft Graph pour répertorier toutes les équipes d’une organisation (locataire), vous trouvez tous les groupes qui ont des équipes, puis obtenez des informations pour chaque équipe.

Obtenir une liste de groupes

Exemple 1 : obtenir la liste des groupes qui contiennent une équipe

Pour obtenir la liste de tous les groupes de l’organisation qui ont des équipes, obtenez la liste de tous les groupes, puis, dans le code, recherchez les groupes qui ont une propriété resourceProvisioningOptions qui contient « Équipe ».

Utilisez l’API avec $filter pour retourner uniquement les groupes qui ont des équipes.

Demande

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

Remarque

Certaines anciennes équipes inutilisées n’ont pas resourceProvisioningOptions définies. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Problèmes connus.

Réponse

L’exemple suivant illustre la réponse.

Remarque : il se peut que l’objet réponse affiché soit raccourci pour plus de lisibilité.

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

Exemple 2 : obtenir une liste de groupes en sélectionnant uniquement les propriétés requises

Étant donné que les groupes sont des objets volumineux, utilisez $select pour obtenir uniquement les propriétés du groupe qui vous intéresse.

Demande

GET /groups?$select=id,resourceProvisioningOptions

Remarque

Certaines anciennes équipes inutilisées n’ont pas resourceProvisioningOptions définies. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Problèmes connus.

Réponse

L’exemple suivant illustre la réponse.

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

Obtenir des informations d’équipe sur un groupe

Pour obtenir des informations d’équipe pour une équipe d’un groupe particulier, appelez l’API d’obtention d’équipe en incluant l’ID du groupe.

Demande

GET /teams/{group-id}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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