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 :
- Obtenir l’utilisateur pour rechercher l’ID d’utilisateur de l’utilisateur connecté
- Répertorier les équipes jointes pour obtenir les équipes dont l’utilisateur est membre.
- Répertorier les canaux pour obtenir les canaux dans une équipe.
- Envoyer un message pour envoyer un message à un canal d’équipe.
Les User.Read
étendues d’autorisation , Team.ReadBasic.All
Channel.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 POST
et 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