Share via


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

API Schlüsselobjekt
.NET-Clientobjektmodell
Siehe: Vorgehensweise: Abrufen von Benutzerprofileigenschaften mithilfe des .NET-Clientobjektmodells in SharePoint
Manager-Objekt: PeopleManager
Primärer Namespace: Microsoft.SharePoint.Client.UserProfiles
Andere Schlüsselobjekte: PersonProperties , ProfileLoader , UserProfile
Klassenbibliothek: Microsoft.SharePoint.Client.UserProfiles.dll
JavaScript-Objektmodell
Siehe: Vorgehensweise: Abrufen von Benutzerprofileigenschaften mithilfe des JavaScript-Objektmodells in SharePoint
Manager-Objekt: PeopleManager
Primärer Namespace: SP. UserProfiles
Andere Schlüsselobjekte: PersonProperties, ProfileLoader, UserProfile
Klassenbibliothek: SP.UserProfiles.js
REST-Dienst
Weitere Informationen finden Sie unter Rest-API-Referenz für Benutzerprofile.
Manager-Ressource: PeopleManager
Endpunkt-URI: http://<siteUri>/_api/SP.UserProfiles.PeopleManager
Primärer Namespace: SP. UserProfiles
Weitere wichtige Ressourcen: PersonProperties, ProfileLoader, UserProfile
Serverobjektmodell
Siehe: Vorgehensweise: Arbeiten mit Benutzer- und Organisationsprofilen mithilfe des Serverobjektmodells in SharePoint
Manager-Objekte: UserProfileManager , PeopleManager
Primärer Namespace: Microsoft.Office.Server.UserProfiles
Andere Schlüsselobjekte: UserProfile , CorePropertyManager , ProfilePropertyManager , ProfileSubtypeManager , ProfileSubtypePropertyManager , ProfileTypePropertyManager
Klassenbibliothek: Microsoft.Office.Server.UserProfiles.dll

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: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager
SSOM: UserProfileManager (überladen) oder PeopleManager
Ändern des aktuellen Benutzerprofilbilds CSOM: SetMyProfilePicture
JSOM: setMyProfilePicture
REST: POSThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture mit Übergabe des Parameters picture im Anforderungstext
SSOM: UserProfile [PropertyConstants.PictureUrl]. Value oder SetMyProfilePicture
Abrufen der aktuellen Benutzereigenschaften CSOM: GetMyProperties
JSOM: getMyProperties
REST: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetMyProperties (oder rufen Sie einige grundlegende Benutzereigenschaften von oder /_api/social.following/myab/_api/social.feed/my)
SSOM: GetUserProfile
Abrufen bestimmter Benutzereigenschaften CSOM: GetPropertiesFor
JSOM: getPropertiesFor
REST: GEThttp://<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: GEThttp://<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: POSThttp://<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 Benutzerprofilen 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: POSThttp://<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: POSThttps://<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:

Hinweis

Serverobjektmodellversionen sind das SPSocialActor-Objekt und das PersonProperties-Objekt .

Siehe auch