Начало работы с интерфейсом командной строки Microsoft Graph (CLI)

В этом разделе вы будете использовать интерфейс командной строки (CLI) Microsoft Graph для выполнения некоторых основных задач. Если интерфейс командной строки еще не установлен, сделайте это, прежде чем следовать этому руководству.

Версия API

Интерфейс командной строки Microsoft Graph использует REST API Microsoft Graph версии 1.0.

Проверка подлинности

Интерфейс командной строки Microsoft Graph поддерживает два типа проверки подлинности: делегированный доступ и доступ только для приложений. В этом разделе вы будете использовать делегированный доступ для входа от имени пользователя, предоставления согласия CLI на действия от вашего имени и вызова Microsoft Graph.

Дополнительные сведения об использовании доступа только для приложений для автоматических сценариев см. в статье Использование проверки подлинности только для приложений с интерфейсом командной строки Microsoft Graph (CLI).

Определение необходимых областей разрешений

Каждый API в Microsoft Graph защищен одной или несколькими областями разрешений. Пользователь, выполняя вход, должен согласиться на одну из обязательных областей для API, которые вы планируете использовать. В этом примере используются следующие API:

Области User.Readразрешений , Team.ReadBasic.All, Channel.ReadBasic.Allи ChannelMessage.Send позволяют эти вызовы.

Вход

Используйте команду для mgc login входа с необходимыми областями.

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

Команда предлагает перейти на веб-страницу для входа с помощью кода устройства. После этого команда завершится. Для каждого сеанса необходимо выполнить вход только один раз.

Совет

Вы можете добавить дополнительные разрешения, повторив mgc login команду с новыми областями разрешений.

Вызов Microsoft Graph

Теперь, когда вы вошли в систему, вы можете начать совершать вызовы к Microsoft Graph.

Примечание.

Для некоторых запросов Microsoft Entra ресурсов требуется использование расширенных возможностей запросов. Если вы получите ответ, указывающий на неправильный запрос, неподдерживаемый запрос или ответ, содержащий непредвиденные результаты, включая $count параметр запроса и ConsistencyLevel заголовок, может позволить запросу выполнить успешное выполнение. Дополнительные сведения и примеры см. в разделе Расширенные возможности запросов к объектам каталогов.

Получение вошедшего пользователя

В этом разделе вы найдите пользователя, выполнившего вход, и получите его идентификатор пользователя. Это потребуется для использования в качестве параметра для других команд, которые вы будете использовать позже. Начните с выполнения следующей команды. Замените <your-display-name> отображаемым именем пользователя, выполнившего вход.

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

Эта команда выводит представление в формате JSON пользователя, выполнившего вход.

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

Для настройки ответа можно использовать параметры запроса OData . Например, чтобы запросить только отображаемое имя пользователя, можно использовать --select параметр .

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

Вывод списка команд, присоединенных к пользователю

Теперь используйте команду , mgc me joined-teams list чтобы вывести список команд, присоединенных к пользователю.

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

Выберите одну из команд, присоединенных к пользователю, и скопируйте ее id.

Перечисление каналов команды

Теперь используйте идентификатор команды в качестве параметра команды mgc teams channels list .

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

Выберите один из каналов и скопируйте его id.

Отправка сообщения

Теперь, когда у вас есть идентификатор команды и идентификатор канала, вы можете опубликовать сообщение в канале. Используйте следующую команду, чтобы отправить сообщение.

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

Эта команда отличается от предыдущих команд, которые вы использовали. Вместо того, чтобы запрашивать данные, он фактически создает что-то. В Microsoft Graph эта команда преобразуется в HTTP POSTи требует объекта в тексте этой записи. В этом случае объектом является chatMessage. Параметр --body принимает представление json объекта chatMessage.

Выход

Используйте команду для mgc logout выхода.

mgc logout

Дальнейшие действия