Compartir a través de


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:

Los User.Readámbitos de permisos , Team.ReadBasic.All, Channel.ReadBasic.Ally 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 POSTy 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

Pasos siguientes