Introducción a la interfaz de línea de comandos (CLI) de Microsoft Graph
En este tema, usará la interfaz de línea de comandos (CLI) de Microsoft Graph para realizar algunas tareas básicas. Si aún no ha instalado la CLI, hágalo antes de seguir esta guía.
Versión de API
La CLI de Microsoft Graph usa la API REST de Microsoft Graph v1.0.
Autenticación
La CLI de Microsoft Graph admite dos tipos de autenticación: acceso delegado y acceso solo a la aplicación. En este tema, usará el acceso delegado para iniciar sesión como usuario, conceder consentimiento a la CLI para que actúe en su nombre y llamar a Microsoft Graph.
Para obtener más información sobre cómo usar el acceso solo a la aplicación para escenarios desatendidos, consulte Uso de la autenticación de solo aplicación con la interfaz de línea de comandos (CLI) de Microsoft Graph.
Determinación de los ámbitos de permisos necesarios
Cada API de Microsoft Graph está protegida por uno o varios ámbitos de permisos. El inicio de sesión del usuario debe dar su consentimiento a uno de los ámbitos necesarios para las API que planea usar. En este ejemplo se usan las siguientes API:
- Obtenga al usuario que busque el identificador de usuario del usuario que ha iniciado sesión.
- Enumerar joinedTeams para obtener los equipos de los que el usuario es miembro.
- Enumere los canales para obtener los canales en un equipo.
- Enviar mensaje para enviar un mensaje a un canal de equipo.
Los User.Read
ámbitos de permisos , Team.ReadBasic.All
, Channel.ReadBasic.All
y ChannelMessage.Send
habilitan estas llamadas.
Iniciar sesión
Use el mgc login
comando para iniciar sesión con los ámbitos necesarios.
mgc login --scopes User.Read Team.ReadBasic.All Channel.ReadBasic.All ChannelMessage.Send
El símbolo del sistema le pide que vaya a una página web para iniciar sesión con un código de dispositivo. Cuando haya hecho eso, el comando se completa. Solo tiene que iniciar sesión una vez por sesión.
Sugerencia
Puede agregar permisos adicionales si repite el mgc login
comando con los nuevos ámbitos de permisos.
Llamar a Microsoft Graph
Ahora que ha iniciado sesión, puede empezar a realizar llamadas a Microsoft Graph.
Nota:
Algunas solicitudes de recursos de Microsoft Entra requieren el uso de funcionalidades de consulta avanzadas. Si recibe una respuesta que indica una solicitud incorrecta, una consulta no admitida o una respuesta que incluye resultados inesperados, incluidos el parámetro y ConsistencyLevel
el $count
encabezado de consulta, puede permitir que la solicitud se realice correctamente. Para obtener detalles y ejemplos, consulte Funcionalidades avanzadas de consulta en objetos de directorio.
Obtener el usuario que ha iniciado sesión
En esta sección, buscará el usuario que inició sesión y obtendrá su identificador de usuario. Necesitará que se use como parámetro para los otros comandos que usará más adelante. Para empezar, ejecute el siguiente comando. Reemplace por <your-display-name>
el nombre para mostrar del usuario que ha iniciado sesión.
mgc users list --filter "displayName eq '<your-display-name>'"
Este comando genera una representación JSON del usuario que ha iniciado sesión.
{
"@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"
}
]
}
Puede usar parámetros de consulta de OData para personalizar la respuesta. Por ejemplo, para solicitar solo el nombre para mostrar del usuario, puede usar la --select
opción .
mgc users get --user-id <user-id> --select displayName
Enumerar los equipos unidos al usuario
Ahora, use el mgc me joined-teams list
comando para mostrar los equipos unidos al usuario.
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"
}
]
}
Seleccione uno de los equipos unidos al usuario y copie su id
.
Enumerar canales de equipo
Ahora use el identificador del equipo como parámetro para el mgc teams channels list
comando.
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"
}
]
}
Seleccione uno de los canales y copie su id
.
Enviar un mensaje
Ahora que tiene el id. de equipo y el identificador de canal, puede publicar un mensaje en el canal. Use el siguiente comando para enviar el mensaje.
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"}'
Este comando difiere de los comandos anteriores que usó. En lugar de consultar datos, realmente está creando algo. En Microsoft Graph, este comando se traduce en http POST
y requiere un objeto en el cuerpo de esa publicación. En este caso, el objeto es un chatMessage. El --body
parámetro acepta una representación JSON de .chatMessage
Cerrar sesión
Use el mgc logout
comando para cerrar la sesión.
mgc logout