Ich habe untersucht, wie Sie einen Benutzer aus einer Azure AD-Gruppe mithilfe der Microsoft Graph-API (die auf nuget verfügbare dotnet/C# -Bibliothek) hinzufügen (und später entfernen) können.MS Graph API C# Benutzer zur Gruppe hinzufügen
alles andere um Ignoriert immer eine verbunden GraphServiceClient
usw. Ich versuche Code sehr ähnlich wie die Probe unten bekommen, keine Ausnahme (was darauf hindeutet, sind die Dinge in Ordnung), aber wenn ich die Gruppe wieder über die API, es hat noch keine Mitglieder!
Interessanter (Nebenbei), wenn ich für memberOf
Eigenschaft auf dem user
Objekt stellen und sagen, dass es es zu erweitern, kommt es wieder noch null.
var user = await client.Users[userPrincipalName]
.Request()
.Select("id,memberOf")
.Expand("memberOf")
.GetAsync();
var group = await client.Groups[groupId]
.Request()
.Select("members")
.Expand("members")
.GetAsync();
group.Members.Add(user);
await client.Groups[groupId].Request().UpdateAsync(group);
// userPrincipalName => "[email protected]"
// groupId => the object GUID for the group
Weiß jemand, was ich hier falsch mache? Die docs habe ich mit diesem Code kommen wurden auf die folgenden Dokumente auf die Links basiert:
Auch habe ich versucht, den Ansatz zu gestalten, auf die Lösung hier, um die Einstellung Lizenzen vorgeschlagen für Benutzer:
Assign user license via Graph API
Wie üblich dank für jede Hilfe.
Peter
Zusätzliche
Ich habe auch versucht, um in dem Grafik-API Stossen auf potenziell suchen, um die .Members
Eigenschaft/Ressource statt der Gruppe selbst zu aktualisieren:
await client.Groups[groupId].Members.Request(). // <-- Only has GetAsync()
Aber es hat nur die GetAync()
Methode zur Verfügung.
auf Antwort Aktualisiert basierend
var usersGroups = await client.Users[userPrincipalName].MemberOf.Request().GetAsync();
if (!usersGroups.Any(g => g is Group && g.Id == groupId))
{
// User is not a member of the group, add them.
var user = await client.Users[userPrincipalName].Request().Select("id").GetAsync();
await client.Groups[groupId].Members.References.Request().AddAsync(user);
}
ich über den Code-Snippet hinzugefügt habe die Antwort basierend auf, wie ich es auf dem Punkt denke in Bezug auf die Frage beantwortet Hinzufügen von Mitgliedern.
Danke an Nan Yu für die Antwort.
Ich habe diesen "GroupService" noch nie zuvor gesehen, aber die anderen Sachen scheinen Sinn zu ergeben! :) – peteski
Entschuldigung, ich dachte, Sie verwenden https://github.com/microsoftgraph/aspnet-snippets-sample. In diesem Codebeispiel gibt es eine GroupService-Klasse. Wenn Sie dieses Codebeispiel nicht verwenden. Sie könnten IGroupMembersCollectionWithReferencesPage members = await graphClient.Groups [id] .Members.Request() verwenden. GetAsync(); um Gruppenmitglieder zu bekommen. Bitte überprüfen Sie die bearbeitete Antwort. –
Entschuldigung, Codebeispiel ist hier: https: //github.com/microsoftgraph/aspnet-snippets-sample –