Erste Schritte mit der Microsoft Graph-Befehlszeilenschnittstelle (CLI)
In diesem Thema verwenden Sie die Microsoft Graph-Befehlszeilenschnittstelle (CLI), um einige grundlegende Aufgaben auszuführen. Wenn Sie die CLI noch nicht installiert haben, führen Sie dies aus, bevor Sie diese Anleitung befolgen.
API-Version
Die Microsoft Graph-CLI verwendet die Microsoft Graph-REST-API v1.0.
Authentifizierung
Die Microsoft Graph CLI unterstützt zwei Arten der Authentifizierung: delegierten Zugriff und nur App-Zugriff. In diesem Thema verwenden Sie delegierten Zugriff, um sich als Benutzer anzumelden, erteilen der CLI die Zustimmung, in Ihrem Namen zu handeln, und rufen Microsoft Graph auf.
Ausführliche Informationen zur Verwendung des reinen App-Zugriffs für unbeaufsichtigte Szenarien finden Sie unter Verwenden der reinen App-Authentifizierung mit der Microsoft Graph-Befehlszeilenschnittstelle (CLI).
Bestimmen erforderlicher Berechtigungsbereiche
Jede API in Microsoft Graph wird durch einen oder mehrere Berechtigungsbereiche geschützt. Der Benutzer, der sich anmeldet, muss einem der erforderlichen Bereiche für die APIs zustimmen, die Sie verwenden möchten. In diesem Beispiel werden die folgenden APIs verwendet:
- Abrufen des Benutzers , um die Benutzer-ID des angemeldeten Benutzers zu finden
- Listen Sie joinTeams auf, um die Teams abzurufen, in der der Benutzer Mitglied ist.
- Listen Sie Kanäle auf, um die Kanäle in einem Team abzurufen.
- Nachricht senden, um eine Nachricht an einen Teamkanal zu senden.
Die User.Read
Berechtigungsbereiche , Team.ReadBasic.All
, Channel.ReadBasic.All
und ChannelMessage.Send
ermöglichen diese Aufrufe.
Anmelden
Verwenden Sie den mgc login
Befehl, um sich mit den erforderlichen Bereichen anzumelden.
mgc login --scopes User.Read Team.ReadBasic.All Channel.ReadBasic.All ChannelMessage.Send
Der Befehl fordert Sie auf, zu einer Webseite zu wechseln, um sich mit einem Gerätecode anzumelden. Wenn Sie dies getan haben, wird der Befehl abgeschlossen. Sie müssen sich nur einmal pro Sitzung anmelden.
Tipp
Sie können zusätzliche Berechtigungen hinzufügen, indem Sie den mgc login
Befehl mit den neuen Berechtigungsbereichen wiederholen.
Aufrufen von Microsoft Graph
Nachdem Sie nun angemeldet sind, können Sie mit Aufrufen von Microsoft Graph beginnen.
Hinweis
Einige Anforderungen für Microsoft Entra Ressourcen erfordern die Verwendung erweiterter Abfragefunktionen. Wenn Sie eine Antwort erhalten, die auf eine ungültige Anforderung, eine nicht unterstützte Abfrage oder eine Antwort mit unerwarteten Ergebnissen hinweist, kann es möglich sein, dass die Anforderung erfolgreich ist, einschließlich des $count
Abfrageparameters und ConsistencyLevel
des Headers. Ausführliche Informationen und Beispiele finden Sie unter Erweiterte Abfragefunktionen für Verzeichnisobjekte.
Abrufen des angemeldeten Benutzers
In diesem Abschnitt suchen Sie den angemeldeten Benutzer und rufen dessen Benutzer-ID ab. Sie benötigen diese als Parameter für die anderen Befehle, die Sie später verwenden werden. Führen Sie zunächst den folgenden Befehl aus. Ersetzen Sie durch <your-display-name>
den Anzeigenamen des angemeldeten Benutzers.
mgc users list --filter "displayName eq '<your-display-name>'"
Dieser Befehl gibt eine JSON-Darstellung des angemeldeten Benutzers aus.
{
"@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"
}
]
}
Sie können OData-Abfrageparameter verwenden, um die Antwort anzupassen. Wenn Sie beispielsweise nur den Anzeigenamen des Benutzers anfordern möchten, können Sie die --select
Option verwenden.
mgc users get --user-id <user-id> --select displayName
Auflisten der verbundenen Teams des Benutzers
Verwenden Sie nun den mgc me joined-teams list
Befehl, um die in den Benutzer eingebundenen Teams aufzulisten.
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"
}
]
}
Wählen Sie eines der teams des Benutzers aus, und kopieren Sie dessen id
.
Auflisten von Teamkanälen
Verwenden Sie nun die Team-ID als Parameter für den mgc teams channels list
Befehl.
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"
}
]
}
Wählen Sie einen der Kanäle aus, und kopieren Sie dessen id
.
Senden einer Nachricht
Nachdem Sie nun sowohl über die Team-ID als auch über die Kanal-ID verfügen, können Sie eine Nachricht an den Kanal senden. Verwenden Sie den folgenden Befehl, um die Nachricht zu senden.
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"}'
Dieser Befehl unterscheidet sich von den vorherigen Befehlen, die Sie verwendet haben. Anstatt Daten zu abfragen, wird tatsächlich etwas erstellt. In Microsoft Graph wird dieser Befehl in ein HTTP-Element POST
übersetzt, und er erfordert ein -Objekt im Text dieses Beitrags. In diesem Fall ist das Objekt eine chatMessage. Der --body
-Parameter akzeptiert eine JSON-Darstellung eines chatMessage
.
Abmelden
Verwenden Sie den mgc logout
Befehl, um sich abzumelden.
mgc logout