Partager via


Prise en main de l’interface de ligne de commande (CLI) Microsoft Graph

Dans cette rubrique, vous allez utiliser l’interface de ligne de commande (CLI) Microsoft Graph pour effectuer certaines tâches de base. Si vous n’avez pas encore installé l’interface CLI, faites-le avant de suivre ce guide.

Version de l’API

L’interface CLI Microsoft Graph utilise l’API REST Microsoft Graph v1.0.

Authentification

L’interface CLI Microsoft Graph prend en charge deux types d’authentification : l’accès délégué et l’accès aux applications uniquement. Dans cette rubrique, vous allez utiliser l’accès délégué pour vous connecter en tant qu’utilisateur, accorder le consentement à l’interface CLI pour agir en votre nom et appeler Microsoft Graph.

Pour plus d’informations sur l’utilisation de l’accès d’application uniquement pour les scénarios sans assistance, consultez Utiliser l’authentification d’application uniquement avec l’interface de ligne de commande (CLI) de Microsoft Graph.

Déterminer les étendues d’autorisation requises

Chaque API dans Microsoft Graph est protégée par une ou plusieurs étendues d’autorisation. L’utilisateur qui se connecte doit donner son consentement à l’une des étendues requises pour les API que vous envisagez d’utiliser. Cet exemple utilise les API suivantes :

Les User.Readétendues d’autorisation , Team.ReadBasic.AllChannel.ReadBasic.All, et ChannelMessage.Send activent ces appels.

Connexion

Utilisez la mgc login commande pour vous connecter avec les étendues requises.

mgc login --scopes User.Read Team.ReadBasic.All Channel.ReadBasic.All ChannelMessage.Send

La commande vous invite à accéder à une page web pour vous connecter à l’aide d’un code d’appareil. Lorsque vous avez fait cela, la commande se termine. Vous ne devez vous connecter qu’une seule fois par session.

Conseil

Vous pouvez ajouter des autorisations supplémentaires en répétant la mgc login commande avec les nouvelles étendues d’autorisation.

Appeler Microsoft Graph

Maintenant que vous êtes connecté, vous pouvez commencer à passer des appels à Microsoft Graph.

Remarque

Certaines demandes de ressources Microsoft Entra nécessitent l’utilisation de fonctionnalités de requête avancées. Si vous obtenez une réponse indiquant une requête incorrecte, une requête non prise en charge ou une réponse qui inclut des résultats inattendus, y compris le paramètre de requête et ConsistencyLevel l’en-tête $count peut permettre à la requête de réussir. Pour plus d’informations et d’exemples, consultez Fonctionnalités de requête avancées sur les objets d’annuaire.

Obtenir l’utilisateur connecté

Dans cette section, vous allez localiser l’utilisateur connecté et obtenir son ID d’utilisateur. Vous en aurez besoin pour l’utiliser comme paramètre pour les autres commandes que vous utiliserez ultérieurement. Commencez par exécuter la commande suivante. Remplacez par <your-display-name> le nom complet de l’utilisateur connecté.

mgc users list --filter "displayName eq '<your-display-name>'"

Cette commande génère une représentation JSON de l’utilisateur connecté.

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
  "value": [
    {
      "businessPhones": [
        "\u002B1 412 555 0109"
      ],
      "displayName": "Megan Bowen",
      "givenName": "Megan",
      "jobTitle": "Marketing Manager",
      "mail": "MeganB@contoso.com",
      "mobilePhone": null,
      "officeLocation": "12/1110",
      "preferredLanguage": "en-US",
      "surname": "Bowen",
      "userPrincipalName": "MeganB@contoso.com",
      "id": "4db673f0-3c2a-4d45-a9d9-3a4a8c63af6e"
    }
  ]
}

Vous pouvez utiliser des paramètres de requête OData pour personnaliser la réponse. Par exemple, pour demander uniquement le nom complet de l’utilisateur, vous pouvez utiliser l’option --select .

mgc users get --user-id <user-id> --select displayName

Répertorier les équipes jointes de l’utilisateur

Utilisez maintenant la mgc me joined-teams list commande pour répertorier les équipes jointes de l’utilisateur.

mgc users joined-teams list --user-id <user-id> --select displayName,id
{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams(displayName,id)",
  "@odata.count": 5,
  "value": [
    {
      "id": "ab41a24e-ed63-4725-abb7-d22f90a4fdc3",
      "displayName": "Sales and Marketing"
    },
    {
      "id": "6520aa84-f197-489c-b79e-a2614a5a2ad0",
      "displayName": "Mark 8 Project Team"
    },
    {
      "id": "e7bc29ba-7794-4df9-8f35-fce723b15fe4",
      "displayName": "Retail"
    },
    {
      "id": "22cf3814-dbef-4eb0-abe3-759b320b7d76",
      "displayName": "Digital Initiative Public Relations"
    },
    {
      "id": "76708e21-b4ad-431e-9394-4ee7536d17bf",
      "displayName": "U.S. Sales"
    }
  ]
}

Sélectionnez l’une des équipes jointes de l’utilisateur et copiez son id.

Répertorier les canaux d’équipe

Utilisez maintenant l’ID de l’équipe comme paramètre de la mgc teams channels list commande .

mgc teams channels list --team-id ab41a24e-ed63-4725-abb7-d22f90a4fdc3 --select displayName,id
{
  "@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#teams(\u0027ab41a24e-ed63-4725-abb7-d22f90a4fdc3\u0027)/channels(displayName
,id)",
  "@odata.count": 2,
  "value": [
    {
      "id": "19:9194c1a65d9c478fa0dc1d5cd5bdf18a@thread.tacv2",
      "displayName": "Monthly Reports"
    },
    {
      "id": "19:YlJvOa8M094qgkEgjJR7l6AogKx9jDsLpuXsl7O8Ft81@thread.tacv2",
      "displayName": "General"
    }
  ]
}

Sélectionnez l’un des canaux et copiez son id.

Envoyer un message

Maintenant que vous disposez à la fois de l’ID d’équipe et de l’ID de canal, vous pouvez publier un message sur le canal. Utilisez la commande suivante pour envoyer le message.

mgc teams channels messages create --team-id ab41a24e-ed63-4725-abb7-d22f90a4fdc3 --channel-id 19:YlJvOa8M094qgkEgjJR7l6AogKx9jDsLpuXsl7O8Ft81@thread.tacv2 --body '{"body": {"content": "Hello world!"}, "importance": "urgent"}'

Cette commande diffère des commandes précédentes que vous avez utilisées. Au lieu d’interroger des données, il crée en fait quelque chose. Dans Microsoft Graph, cette commande se traduit par un http POSTet nécessite un objet dans le corps de ce billet. Dans ce cas, l’objet est un chatMessage. Le --body paramètre accepte une représentation JSON d’un chatMessage.

Se déconnecter

Utilisez la mgc logout commande pour vous déconnecter.

mgc logout

Étapes suivantes