英語で読む

次の方法で共有


Microsoft Graph コマンド ライン インターフェイスの概要 (CLI)

このトピックでは、Microsoft Graph コマンド ライン インターフェイス (CLI) を使用して、いくつかの基本的なタスクを実行します。 CLI をまだインストールしていない場合は、このガイド 従う前にインストールしてください。

API バージョン

Microsoft Graph CLI では、 Microsoft Graph REST API v1.0 が使用されます。

認証

Microsoft Graph CLI では、委任されたアクセスとアプリ専用アクセスの 2 種類の認証がサポートされています。 このトピックでは、委任されたアクセスを使用してユーザーとしてサインインし、ユーザーに代わって動作する CLI に同意を付与し、Microsoft Graph を呼び出します。

無人シナリオでのアプリ専用アクセスの使用の詳細については、「 Microsoft Graph コマンド ライン インターフェイス (CLI) でアプリ専用認証を使用する」を参照してください。

必要なアクセス許可スコープを決定する

Microsoft Graph の各 API は、1 つ以上のアクセス許可スコープによって保護されています。 ユーザーサインインは、使用する予定の API に必要なスコープのいずれかに同意する必要があります。 この例では、次の API を使用します。

User.ReadTeam.ReadBasic.AllChannel.ReadBasic.Allおよび ChannelMessage.Send アクセス許可のスコープを使用すると、これらの呼び出しが有効になります。

サインイン

コマンドを mgc login 使用して、必要なスコープでサインインします。

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

コマンドを実行すると、Web ページに移動してデバイス コードを使用してサインインするように求められます。 完了すると、コマンドが完了します。 サインインする必要があるのは、セッションごとに 1 回だけです。

ヒント

新しいアクセス許可スコープでコマンドを mgc login 繰り返すことで、追加のアクセス許可を追加できます。

Microsoft Graph を呼び出す

サインインしたら、Microsoft Graph への呼び出しを開始できます。

注意

Microsoft Entra リソースに対する一部の要求では、高度なクエリ機能を使用する必要があります。 不適切な要求、サポートされていないクエリ、またはクエリ パラメーターやConsistencyLevelヘッダーなど、予期しない結果を含む$count応答を示す応答を取得すると、要求が成功する可能性があります。 詳細と例については、「 ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

サインインしているユーザーを取得する

このセクションでは、サインインしているユーザーを見つけて、そのユーザー ID を取得します。 これは、後で使用する他のコマンドのパラメーターとして使用する必要があります。 まず、次のコマンドを実行します。 をサインインしているユーザーの表示名に置き換えます <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 としてチームの ID を使用します。

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コピーします。

メッセージを送信する

チーム ID とチャネル 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

次の手順