Partilhar via


Introdução à CLI (interface de linha de comando) do Microsoft Graph

Neste tópico, você usará a CLI (interface de linha de comando) do Microsoft Graph para executar algumas tarefas básicas. Se você ainda não instalou a CLI, faça isso antes de seguir este guia.

Versão da API

A CLI do Microsoft Graph usa a API REST do Microsoft Graph v1.0.

Autenticação

A CLI do Microsoft Graph dá suporte a dois tipos de autenticação: acesso delegado e acesso somente aplicativo. Neste tópico, você usará o acesso delegado para entrar como usuário, conceder consentimento à CLI para agir em seu nome e chamar o Microsoft Graph.

Para obter detalhes sobre como usar o acesso somente ao aplicativo para cenários autônomos, confira Usar autenticação somente aplicativo com a CLI (interface de linha de comando) do Microsoft Graph.

Determinar escopos de permissão necessários

Cada API no Microsoft Graph é protegida por um ou mais escopos de permissão. A entrada do usuário deve consentir com um dos escopos necessários para as APIs que você planeja usar. Este exemplo usa as seguintes APIs:

Os User.Readescopos , Team.ReadBasic.All, Channel.ReadBasic.Alle ChannelMessage.Send permissão habilitam essas chamadas.

Entrar

Use o mgc login comando para entrar com os escopos necessários.

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

O comando solicita que você acesse uma página da Web para entrar usando um código de dispositivo. Quando você faz isso, o comando é concluído. Você só precisa entrar uma vez por sessão.

Dica

Você pode adicionar permissões adicionais repetindo o mgc login comando com os novos escopos de permissão.

Chamar o Microsoft Graph

Agora que você está conectado, você pode começar a fazer chamadas para o Microsoft Graph.

Observação

Algumas solicitações de recursos Microsoft Entra exigem o uso de recursos avançados de consulta. Se você receber uma resposta indicando uma solicitação ruim, uma consulta sem suporte ou uma resposta que inclua resultados inesperados, incluindo o parâmetro de consulta e ConsistencyLevel o $count cabeçalho podem permitir que a solicitação tenha êxito. Para obter detalhes e exemplos, confira Recursos de consulta avançados em objetos de diretório.

Obter o usuário conectado

Nesta seção, você localizará o usuário conectado e obterá a ID do usuário. Você precisará disso para usar como parâmetro para os outros comandos que você usará posteriormente. Comece executando o comando a seguir. Substitua <your-display-name> pelo nome de exibição do usuário conectado.

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

Esse comando gera uma representação JSON do usuário conectado.

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

Você pode usar um parâmetro de consulta OData para personalizar a resposta. Por exemplo, para solicitar apenas o nome de exibição do usuário, você pode usar a opção --select .

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

Listar as equipes unidas do usuário

Agora, use o mgc me joined-teams list comando para listar as equipes ingressadas do usuário.

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

Selecione uma das equipes ingressadas do usuário e copie seu id.

Listar canais de equipe

Agora, use a ID da equipe como um parâmetro para o 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"
    }
  ]
}

Selecione um dos canais e copie seu id.

Enviar uma mensagem

Agora que você tem a ID da equipe e a ID do canal, você pode postar uma mensagem no canal. Use o comando a seguir para enviar a mensagem.

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

Esse comando difere dos comandos anteriores usados. Em vez de consultar dados, ele está realmente criando algo. No Microsoft Graph, esse comando se traduz em um HTTP POSTe requer um objeto no corpo dessa postagem. Nesse caso, o objeto é um chatMessage. O --body parâmetro aceita uma representação JSON de um chatMessage.

Sair

Use o mgc logout comando para sair.

mgc logout

Próximas etapas