在 SharePoint 中使用用户配置文件

了解在 SharePoint 中处理用户配置文件所需执行的常见编程任务。

用于在 SharePoint 中处理用户配置文件的 API

用户配置文件和用户配置文件属性可提供 SharePoint 用户的相关信息。 SharePoint 提供了以下 API,可用于以编程方式处理用户配置文件:

  • 托管代码的客户端对象模型

    • .NET 客户端对象模型

    • Silverlight 客户端对象模型

    • 移动设备客户端对象模型

  • JavaScript 对象模型

  • 代表性状态传输 (REST) 服务

  • 服务器对象模型

如果可以,最好在 SharePoint 开发中使用客户端 API。 客户端 API 包括 .NET 客户端对象模型、JavaScript 对象模型和 REST 服务。 有关 SharePoint 中的 API 以及何时使用它们的详细信息,请参阅 在 SharePoint 中选择正确的 API 集

注意

通过客户端 API,并不能使用 Microsoft.Office.Server.UserProfiles 程序集中的所有功能。 例如,必须使用服务器对象模型,才能创建或更改用户配置文件,因为它们在客户端 API 中是只读的(用户配置文件图片除外)。 另外,无法通过客户端访问一些命名空间,如 Microsoft.Office.Server.AudienceMicrosoft.Office.Server.ReputationModelMicrosoft.Office.Server.SocialData。 若要查看客户端 API 支持的功能,请参阅 Microsoft.SharePoint.Client.SocialMicrosoft.SharePoint.Client.UserProfiles

每个 API 都包括一个用于执行配置文件相关的核心任务的管理器对象。 表 1 显示了每个 API 中的管理器和其他关键对象(或 REST 资源)以及可在其中找到 API 的类库(或访问点)。

注意

Silverlight 和移动客户端对象模型未包含在表 1 或表 2 中,因为它们提供了与 .NET 客户端对象模型相同的核心功能,并使用相同的签名。 Silverlight 客户端对象模型在 Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll 中定义,移动客户端对象模型在 Microsoft.SharePoint.Client.UserProfiles.Phone.dll 中定义。

表 1. 用于以编程方式处理用户配置文件的 SharePoint API

API 关键对象
.NET 客户端对象模型
请参阅: 如何:使用 SharePoint 中的 .NET 客户端对象模型检索用户配置文件属性
Manager 对象: PeopleManager
主命名空间: Microsoft.SharePoint.Client.UserProfiles
其他关键对象: PersonPropertiesProfileLoaderUserProfile
类库:Microsoft.SharePoint.Client.UserProfiles.dll
JavaScript 对象模型
请参阅: 如何:使用 SharePoint 中的 JavaScript 对象模型检索用户配置文件属性
Manager 对象: PeopleManager
主命名空间: SP。UserProfiles
其他关键对象: PersonPropertiesProfileLoaderUserProfile
类库:SP.UserProfiles.js
REST 服务
请参阅: 用户配置文件 REST API 参考
管理器资源: PeopleManager
终结点 URI: http://<siteUri>/_api/SP.UserProfiles.PeopleManager
主命名空间: SP。UserProfiles
其他关键资源: PersonPropertiesProfileLoaderUserProfile
服务器对象模型
请参阅: 如何:使用 SharePoint 中的服务器对象模型处理用户配置文件和组织配置文件
管理器对象: UserProfileManagerPeopleManager
主命名空间: Microsoft.Office.Server.UserProfiles
其他关键对象: UserProfileCorePropertyManagerProfilePropertyManagerProfileSubtypeManagerProfileSubtypePropertyManagerProfileTypePropertyManager
类库:Microsoft.Office.Server.UserProfiles.dll

用于使用 SharePoint 中的用户配置文件

表 2 显示用于使用用户配置文件的常见编程任务和用于执行这些任务的成员。 这些成员来自 .NET 客户端对象模型 (CSOM)、JavaScript 对象模型 (JSOM)、REST 服务和服务器对象模型 (SSOM)。

表 2. 用于使用用户配置文件的常见编程任务的 API

任务 成员
在当前用户的上下文中创建管理器对象实例 CSOM: PeopleManager
JSOM:PeopleManager
REST:GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager
SSOM: UserProfileManager (重载) 或 PeopleManager
更改当前用户的配置文件图片。 CSOM: SetMyProfilePicture
JSOM:setMyProfilePicture
REST:POSThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture,并在请求正文中传递 picture 参数
SSOM: UserProfile [PropertyConstants.PictureUrl]。Value 或 SetMyProfilePicture
获取当前用户的属性 CSOM: GetMyProperties
JSOM:getMyProperties
REST: 获取http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetMyProperties (或从 /_api/social.feed/my/_api/social.following/my) 获取一些基本用户属性
SSOM: GetUserProfile
获取特定用户的属性 CSOM: GetPropertiesFor
JSOM:getPropertiesFor
REST:GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\\user'
SSOM: GetUserProfile (重载) 或 GetPropertiesFor
获取特定用户的用户配置文件属性 CSOM: GetUserProfilePropertiesFor
JSOM:getUserProfilePropertiesFor
REST:未实现。 调用 GetPropertiesFor,再通过返回的 PersonProperties 对象的 UserProfileProperties 属性获取用户配置文件属性。
SSOM: GetEnumerator
获取用户的特定用户配置文件属性 CSOM: GetUserProfilePropertyFor
JSOM:getUserProfilePropertyFor
REST:GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='PreferredName')?@v='domain\\user'
SSOM: UserProfile (重载) 并在索引器中指定属性名称
获取用户配置文件 CSOM: GetUserProfile (仅返回当前用户的 客户端用户配置文件)
JSOM:getUserProfile(仅为当前用户返回客户端用户配置文件
REST:POSThttp://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile(仅为当前用户返回客户端用户配置文件
SSOM: GetUserProfile (重载)
了解用户帐户是否存在 CSOM:未实现
JSOM:未实现
REST:未实现
SSOM: UserExists
创建或更改用户配置文件以及用户配置文件属性 (Property) 和属性 (Attribute)
(客户端 API 可更改配置文件图片。请参阅此表中的"更改用户的配置文件图片"任务)。
CSOM:未实现
JSOM:未实现
REST:未实现
SSOM:多???请参阅 如何:使用 SharePoint 中的服务器对象模型处理用户配置文件和组织配置文件
删除用户配置文件 CSOM:未实现
JSOM:未实现
REST:未实现
SSOM: RemoveProfileRemoveUserProfile (重载)
配置用户的个人网站 CSOM: CreatePersonalSiteEnque (重载)
JSOM:createPersonalSiteEnque(重载)
REST:POSThttp://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile/CreatePersonalSiteEnqueue
SSOM: CreatePersonalSite () (重载)
配置一个或多个用户的个人网站
仅在 SharePoint Online 上可用于 我的网站 主机管理员
CSOM:CreatePersonalSiteEnqueueBulk
JSOM:createPersonalSiteEnqueueBulk
REST:POSThttps://<domain>-admin.sharepoint.com/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/CreatePersonalSiteEnqueueBulk,并在请求正文中传递 emailIDs 参数的电子邮件地址字符串数组,最多 200 个字符(例如:{'emailIDs':['usera@contoso.onmicrosoft.com','userb@contoso.onmicrosoft.com']})。
SSOM:CreatePersonalSiteEnqueueBulk

针对 SharePoint 中的用户和用户属性的新对象

SharePoint 包括下列表示用户和用户属性的新对象:

注意

服务器对象模型版本是 SPSocialActor 对象和 PersonProperties 对象。

另请参阅