SharePoint 加载项模型中的用户配置文件操作
在新的 SharePoint 外接程序模型中,在用户配置文件服务中执行创建、读取、更新和删除 (CRUD) 操作的方法不同于使用完全信任代码。 在典型完全信任代码 (FTC)/场解决方案场景中,通过 SharePoint 服务器端对象模型代码或用户配置文件 Web 服务执行 UPS CRUD 操作并且通过场解决方案部署。
在 SharePoint 外接程序模型场景中,通过客户端对象模型 (CSOM) 或用户配置文件 Web 服务执行 UPS CRUD 操作。
高级别准则
作为经验法则,我们建议使用下列高级别准则执行 UPS CRUD 操作。
- 下表描述对于 CSOM 和用户配置文件 Web 服务,Office 365 和本地 SharePoint 环境中支持的操作类型。
操作 | API | 本地 | Office 365 |
---|---|---|---|
读取 | CSOM | 支持 | 支持 |
创建 | CSOM | 不支持 | 支持 |
更新 | CSOM | 不支持 | 支持 |
删除 | CSOM | 不支持 | 支持 |
读取 | 用户配置文件 Web 服务 | 支持 | 不支持 |
创建 | 用户配置文件 Web 服务 | 支持 | 不支持 |
更新 | 用户配置文件 Web 服务 | 支持 | 不支持 |
删除 | 用户配置文件 Web 服务 | 支持 | 不支持 |
- 你通常将不会将外接程序部署到 SharePoint 租户来处理 UPS 数据复制或同步。 通常情况下,外接程序采用控制台应用程序的方式,作为计划的任务或长时间运行的云服务(如 Azure Web 作业)运行。
- 有关这些技术以及如何在 SharePoint 外接程序模型中使用它们的详细信息,请参阅远程计时器作业(SharePoint 外接程序模型方法)。
- 对于任何 User Profile Service 操作,不支持使用 AppOnly 身份验证。
- 通过具有适当权限的帐户来执行 CSOM 代码以进行 UPS CRUD 操作。
- 将 Active Directory 同步到 User Profile Service 时默认将同步某些属性。
- SharePoint Server 2013 中的默认用户配置文件属性映射(TechNet 文章)默认包含同步的属性列表。
- 如果你需要同步附加属性,你将需要使用本文中介绍的方法之一创建自定义工具。
用于复制和同步 UPS 数据的选项
有几个选项可复制和同步 UPS 数据。
- 本地
- 复制数据库
- 使用用户配置文件 Web 服务复制数据
- 使用用户配置文件 Web 服务同步数据
- Office 365
- 使用 CSOM 复制数据
- 使用 CSOM 同步数据
本地 - 复制数据库
如果你有本地 SharePoint 环境,则可以将 UPS 数据库从一个场复制到另一个场以快速复制属性。
何时适合?
当你有本地 SharePoint 环境并且正在执行单向复制配置文件属性时,这是一个不错的选择,因为它可以快速轻松地实施而无需编写任何代码。
本地 - 使用用户配置文件 Web 服务复制数据
如果你有本地 SharePoint 环境,则可以使用用户配置文件 Web 服务将 UPS 数据从一个场复制到另一个场。
何时适合?
当你有本地 SharePoint 环境并且正在两个或多个 SharePoint 服务器场之间复制 UPS 数据时,这是一个不错的选择,因为它使你能够灵活地将 UPS 数据从一个场复制到另一个场。
入门
以下示例演示如何使用用户配置文件 Web 服务执行 UPS CRUD 操作。
本地 - 使用用户配置文件 Web 服务同步数据
如果你有本地 SharePoint 环境,则可以使用用户配置文件 Web 服务在场之间同步 UPS 数据。
何时适合?
当你有本地 SharePoint 环境并且正在两个或多个 SharePoint 服务器场之间同步 UPS 数据时,这是一个不错的选择,因为它使你能够灵活地执行真正的同步并随心所欲地包含任意多个源。
入门
Core.UserProfilePropertyUpdater(O365 PnP 示例)演示如何通过用户配置文件 Web 服务执行 UPS CRUD 操作。
Core.MMSSync(O365 PnP 示例)演示如何为 Managed Metadata Service(MMS 数据)构建同步工具。 尽管此示例重点介绍 MMS API,但用于同步的总体模式也可应用于 UPS 数据。
Office 365 - 使用 CSOM 复制数据
如果你拥有 Office 365 SharePoint 环境,则可使用 CSOM 将 UPS 数据从一个租户复制到另一个租户。
何时适合?
当你有 Office 365 SharePoint 环境并且正在两个或多个 SharePoint 租户之间复制 UPS 数据时,这是一个不错的选择,因为它使你能够灵活地将 UPS 数据从一个租户复制到另一个租户。
入门
UserProfile.Manipulation.CSOM(O365 PnP 示例)演示如何通过 CSOM 执行 UPS CRUD 操作。
用于读取和更新的用户配置文件 CSOM(O365 PnP 视频)可指导你完成 UserProfile.Manipulation.CSOM(O365 PnP 示例)。
Office 365 - 使用 CSOM 同步数据
当你有 Office 365 SharePoint 环境并且正在两个或多个租户之间同步 UPS 数据时,这是一个不错的选择,因为它使你能够灵活地执行真正的同步并随心所欲地包含任意多个源。
何时适合?
当你有 Office 365 环境并且正在两个或多个 SharePoint 租户之间同步 UPS 数据时,这是一个不错的选择,因为它使你能够灵活地执行真正的同步并随心所欲地包含任意多个源。
入门
Core.UserProfiles.Sync(O365 PnP 示例)演示如何为 User Profile Service 数据生成同步工具。
混合环境
在同时具有本地和 Office 365 SharePoint 环境且两个环境中均需要维护用户配置文件信息的场景中,可以使用用户配置文件 Web 服务与 CSOM 的组合来帮助你对 UPS 数据执行 CUD 操作。
相关链接
- 用于读取和更新的用户配置文件 CSOM(#用于读取和更新的用户配置文件-CSOM)(O365 PnP 视频)
- 远程计时器作业(SharePoint 外接程序模型方法)
- SharePoint Server 2013 中的默认用户配置文件属性映射(TechNet 文章)
- 指南文章中 https://aka.ms/OfficeDevPnPGuidance
- MSDN 中的引用位于 https://aka.ms/OfficeDevPnPMSDN
- 视频中的 https://aka.ms/OfficeDevPnPVideos
PnP 示例
- Core.UserProfilePropertyUpdater(O365 PnP 示例)
- Core.MMSSync(O365 PnP 示例)
- UserProfile.Manipulation.CSOM(O365 PnP 示例)
- Core.UserProfiles.Sync(O365 PnP 示例)
- Microsoft 365 模式和实践中的示例和内容 (PnP)
适用于
- Office 365 多租户 (MT)
- Office 365 专用 (D)
- SharePoint 2013 本地