Arbeiten mit Benutzerprofilen in SharePoint
In diesem Artikel werden gängige Programmieraufgaben für die Arbeit mit Benutzerprofilen in SharePoint beschrieben.
APIs für die Arbeit mit Benutzerprofilen in SharePoint
Benutzerprofile und Benutzerprofileigenschaften enthalten Informationen zu SharePoint-Benutzern. SharePoint stellt die folgenden APIs zur programmgesteuerten Arbeit mit Benutzerprofilen bereit:
Clientobjektmodelle für verwalteten Code
.NET-Clientobjektmodell
Silverlight-Clientobjektmodell
Mobiles Clientobjektmodell
JavaScript-Objektmodell
REST (Representational State Transfer)-Dienst
Serverobjektmodell
In der SharePoint-Entwicklung wird empfohlen, so oft wie möglich Client-APIs zu verwenden. Client-APIs umfassen das .NET-Clientobjektmodell, das JavaScript-Objektmodell und den REST-Dienst. Weitere Informationen zu den APIs in SharePoint und zu deren Verwendung finden Sie unter Auswählen des richtigen API-Satzes in SharePoint.
Hinweis
Nicht alle Funktionen in der Assembly Microsoft.Office.Server.UserProfiles lassen sich über Client-APIs nutzen. Zur Erstellung oder Anpassung von Benutzerprofilen beispielsweise müssen Sie das Serverobjektmodell verwenden, da Client-APIs nur schreibgeschützten Zugriff auf die Profile haben. (Ausgenommen hiervon sind lediglich Benutzerprofilbilder.) Auch auf manche Namespaces ist kein clientseitiger Zugriff möglich. Das gilt beispielsweise für Microsoft.Office.Server.Audience, Microsoft.Office.Server.ReputationModel und Microsoft.Office.Server.SocialData. Informationen dazu, welche Funktionalitäten für Client-APIs unterstützt werden, finden Sie unter Microsoft.SharePoint.Client.Social und Microsoft.SharePoint.Client.UserProfiles .
Jede API enthält ein Managerobjekt, das Sie zum Ausführen grundlegender profilbezogener Aufgaben verwenden. In Tabelle 1 sind der Manager und andere wichtige Objekte (oder REST-Ressourcen) in den APIs und der Klassenbibliothek (oder dem Zugriffspunkt), in denen Sie diese finden können.
Hinweis
Die Silverlight- und mobilen Clientobjektmodelle sind in Tabelle 1 oder Tabelle 2 nicht enthalten, da sie dieselben Kernfunktionen wie das .NET-Clientobjektmodell bereitstellen und dieselben Signaturen verwenden. Das Silverlight-Clientobjektmodell ist in Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll definiert und das mobile Clientobjektmodell in Microsoft.SharePoint.Client.UserProfiles.Phone.dll.
Tabelle 1. SharePoint-APIs, die zum programmgesteuerten Arbeiten mit Benutzerprofilen verwendet werden
Allgemeine Programmierungsaufgaben für das Arbeiten mit Benutzerprofilen in SharePoint
Tabelle 2 zeigt allgemeine Programmierungsaufgaben für das Arbeiten mit Benutzerprofilen sowie die Elemente, die Sie zur Ausführung verwenden. Die Elemente stammen aus dem .NET-Clientobjektmodell (CSOM), dem JavaScript-Objektmodell (JSOM), dem REST-Dienst und dem Serverobjektmodell (SSOM).
Tabelle 2. API für allgemeine Programmierungsaufgaben für das Arbeiten mit Benutzerprofilen
Aufgabe | Elemente |
---|---|
Erstellen einer Instanz eines Manager-Objekts im Kontext des aktuellen Benutzers | CSOM: PeopleManager JSOM: PeopleManager REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager SSOM: UserProfileManager (überladen) oder PeopleManager |
Ändern des aktuellen Benutzerprofilbilds | CSOM: SetMyProfilePicture JSOM: setMyProfilePicture REST: POST http://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture mit Übergabe des Parameters picture im AnforderungstextSSOM: UserProfile [PropertyConstants.PictureUrl]. Value oder SetMyProfilePicture |
Abrufen der aktuellen Benutzereigenschaften | CSOM: GetMyProperties JSOM: getMyProperties REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetMyProperties (oder rufen Sie einige grundlegende Benutzereigenschaften von oder /_api/social.following/my ab/_api/social.feed/my )SSOM: GetUserProfile |
Abrufen bestimmter Benutzereigenschaften | CSOM: GetPropertiesFor JSOM: getPropertiesFor REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\\user' SSOM: GetUserProfile (überladen) oder GetPropertiesFor |
Abrufen der Benutzerprofileigenschaften eines bestimmten Benutzers | CSOM: GetUserProfilePropertiesFor JSOM: getUserProfilePropertiesFor REST: Nicht implementiert. Rufen Sie GetPropertiesFor auf, und rufen Sie anschließend die Benutzerprofileigenschaften aus der Eigenschaft UserProfileProperties des zurückgegebenen Objekts PersonProperties ab. SSOM: GetEnumerator |
Abrufen einer bestimmten Benutzerprofileigenschaft eines Benutzers | CSOM: GetUserProfilePropertyFor JSOM: getUserProfilePropertyFor REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='PreferredName')?@v='domain\\user' SSOM: UserProfile (überladen) und den Eigenschaftsnamen im Indexer angeben |
Abrufen eines Benutzerprofils | CSOM: GetUserProfile (gibt nur das clientseitige Benutzerprofil für den aktuellen Benutzer zurück) JSOM: getUserProfile (gibt nur das clientseitige Benutzerprofil für den aktuellen Benutzer zurück) REST: POST http://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile (Gibt nur das clientseitige Benutzerprofil des aktuellen Benutzers zurück.)SSOM: GetUserProfile (überladen) |
Ermitteln, ob ein Benutzerkonto vorhanden ist | CSOM: nicht implementiert JSOM: nicht implementiert REST: nicht implementiert SSOM: UserExists |
Erstellen oder Ändern von Benutzerprofilen und Benutzerprofileigenschaften und -attributen (Client-APIs können das Profilbild ändern. Siehe auch die Aufgabe "Ändern des Benutzerprofilbilds" in dieser Tabelle.) |
CSOM: nicht implementiert JSOM: nicht implementiert REST: nicht implementiert SSOM: mehrere??? Siehe Vorgehensweise: Arbeiten mit Benutzer- und Organisationsprofilen mithilfe des Serverobjektmodells in SharePoint |
Löschen eines Benutzerprofils | CSOM: nicht implementiert JSOM: nicht implementiert REST: nicht implementiert SSOM: RemoveProfile oder RemoveUserProfile (überladen) |
Bereitstellen einer persönlichen Benutzerwebsite | CSOM: CreatePersonalSiteEnque (überladen) JSOM: createPersonalSiteEnque (überladen) REST: POST http://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile/CreatePersonalSiteEnqueue SSOM: CreatePersonalSite() (überladen) |
Bereitstellen von mindestens einer persönlichen Benutzerwebsite Nur verfügbar für Meine Website Hostadministratoren in SharePoint Online |
CSOM: CreatePersonalSiteEnqueueBulk JSOM: createPersonalSiteEnqueueBulk REST: POST https://<domain>-admin.sharepoint.com/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/CreatePersonalSiteEnqueueBulk mit Übergabe eines Zeichenfolgenarrays von E-Mail-Adressen im Parameter emailIDs (maximal 200 Zeichen) im Anforderungstext (Beispiel: {'emailIDs':['usera@contoso.onmicrosoft.com','userb@contoso.onmicrosoft.com']} ) SSOM: CreatePersonalSiteEnqueueBulk |
Neue Objekte für Benutzer und Benutzereigenschaften in SharePoint
SharePoint umfasst die folgenden neuen Objekte, die Benutzer und Benutzereigenschaften darstellen:
Das SocialActor-Objekt und das SocialActorInfo-Objekt stellen Benutzer (sowie Dokumente, Websites und Aufgaben) für Feed- und folgende Aktivitäten dar.
Ein neues clientseitiges UserProfile-Objekt , das Methoden bereitstellt, mit denen Sie eine persönliche Website für den aktuellen Benutzer erstellen können. Es enthält aber nicht alle Benutzereigenschaften, die das serverseitige UserProfile -Objekt enthält.
Das PersonProperties-Objekt enthält allgemeine Benutzereigenschaften, und seine UserProfileProperties-Eigenschaft enthält Benutzerprofileigenschaften. PersonProperties ist die primäre API für den Zugriff auf Benutzereigenschaften aus dem clientseitigen Code.
Hinweis
Serverobjektmodellversionen sind das SPSocialActor-Objekt und das PersonProperties-Objekt .