通过 SharePoint 跟踪人员
了解在 SharePoint 中关注人员所需执行的常见编程任务。
用于在 SharePoint 中关注人员的 API
当用户在 SharePoint 中关注人员后,被关注人员发布的微博帖子和相关活动通知就会显示在用户的新闻源中。 与关注人员相关的功能可能显示在“新闻源”和“我关注的人员”页面中。
SharePoint 提供了以下 API,可用于以编程方式关注人员:
托管代码的客户端对象模型
.NET 客户端对象模型
Silverlight 客户端对象模型
移动设备客户端对象模型
JavaScript 对象模型
代表性状态传输 (REST) 服务
服务器对象模型
作为 SharePoint 开发中的最佳实践,只要可能,就是用客户端 API。 客户端 API 包括客户端对象模型、JavaScript 对象模型和 REST 服务。 有关 SharePoint 中的 API 以及何时使用它们的详细信息,请参阅 在 SharePoint 中选择正确的 API 集。
每个 API 都包含一个管理器对象,用于执行关注人员的核心任务。
注意
可使用相同 API 关注内容。 有关关注内容任务的概述,请参阅 关注 SharePoint 中 的内容。
表 1 显示了这些 API 中的管理器和其他关键对象(或 REST 资源),以及可在其中查找 API 的类库(或接入点)。
注意
表 1 或表 2 中没有明确包含 Silverlight 和移动客户端对象模型,这是因为它们提供与 .NET 客户端对象模型相同的核心功能并使用相同的签名。 Silverlight 客户端对象模型在 Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll 中定义,而移动客户端对象模型在 Microsoft.SharePoint.Client.UserProfiles.Phone.dll 中定义。
表 1. SharePoint API 用于以编程方式关注人员
API | 关键对象 |
---|---|
.NET 客户端对象模型 请参阅: 如何:在 SharePoint 中使用 .NET 客户端对象模型关注人员 |
Manager 对象: SocialFollowingManager 主命名空间: Microsoft.SharePoint.Client.Social 其他关键对象: SocialActor 、 SocialActorInfo 、 SocialActorType 、 SocialActorTypes 类库:Microsoft.SharePoint.Client.UserProfiles.dll |
JavaScript 对象模型 请参阅: 如何:在 SharePoint 中使用 JavaScript 对象模型跟踪人员 |
Manager 对象: SocialFollowingManager 主命名空间: SP。社会的 其他关键对象: SocialActor、 SocialActorInfo、 SocialActorType、 SocialActorTypes 类库:SP.UserProfiles.js |
REST 服务 请参阅: 关注 SharePoint 的人员和内容 REST API 参考 |
管理器资源: social.following 终结点 URI: <siteUri>/_api/social.following 主命名空间 (OData.md) : sp.social.SocialRestFollowingManager 其他关键资源: SocialActor、 SocialActorInfo、 SocialActorType、 SocialActorTypes |
服务器对象模型 | Manager 对象: SPSocialFollowingManager 主命名空间: Microsoft.Office.Server.Social 其他关键对象: SPSocialActor 、 SPSocialActorInfo 、 SPSocialActorType 、 SPSocialActorTypes 类库:Microsoft.Office.Server.UserProfiles.dll |
在 SharePoint 中关注人员所需执行的常见编程任务
表 2 显示了用于关注人员的常见编程任务以及可用于执行这些任务的成员。 这些成员来自 .NET 客户端对象模型 (CSOM)、JavaScript 对象模型 (JSOM)、REST 服务和服务器对象模型 (SSOM)。
注意
可使用相同 API 关注内容。 有关关注内容任务的概述,请参阅 关注 SharePoint 中 的内容。
SocialFollowingManager 对象将当前用户的核心"关注人员"和"关注内容"功能融合在一起。 但是, PeopleManager 对象(见表 3)提供了 SocialFollowingManager 未提供的某些功能,包括用于获取其他用户的关注人员状态的方法。
表 2. 用于通过使用 SocialFollowingManager 对象关注人员的常见任务的 API
表 3 显示了可用于其他关注人员功能的 PeopleManager 成员
表 3. 用于通过使用 PeopleManager 对象关注人员的常见任务的 API
任务 | Members |
---|---|
了解当前用户的“我正在关注的人员”列表是否为公共列表 | CSOM: IsMyPeopleListPublic JSOM: isMyPeopleListPublic REST: IsMyPeopleListPublic 示例: GET <siteUri>/_api/SP.UserProfiles.PeopleManager/IsMyPeopleListPublic SSOM: IsMyPeopleListPublic |
了解某人是否正在关注当前用户 | CSOM: AmIFollowedBy JSOM: amIFollowedBy REST: AmIFollowedBy 示例: GET <siteUri>/_api/SP.UserProfiles.PeopleManager/AmIFollowedBy(accountName=@v)?@v='domain\\user' SSOM: AmIFollowedBy |
获取某个特定用户正在关注的人员 | CSOM: GetPeopleFollowedBy JSOM: getPeopleFollowedBy REST: GetPeopleFollowedBy 示例: GET <siteUri>/_api/SP.UserProfiles.PeopleManager/GetPeopleFollowedBy(accountName=@v)?@v='domain\\user' SSOM: GetPeopleFollowedBy |
获取正在关注某个特定用户的人员 | CSOM: GetFollowersFor JSOM: getFollowersFor REST: GetFollowersFor 示例: GET <siteUri>/_api/SP.UserProfiles.PeopleManager/GetFollowersFor(accountName=@v)?@v='domain\\user' SSOM: GetFollowersFor |
了解某个特定用户是否正在关注另一个用户 | CSOM: IsFollowing JSOM: isFollowing REST: IsFollowing (静态) 示例: GET <siteUri>/_api/SP_UserProfiles_PeopleManager_IsFollowing(possibleFollowerAccountName=@v,possibleFolloweeAccountName=@y)?@v='domain\\user'&@y='domain\\user' SSOM: IsFollowing |
SharePoint Online 上的联系人建议的工作原理
联系人建议的结果基于已建立的关注人员活动。 当用户关注某人时,如果该人员与另一个用户尚未关注的人员相互关注,则会提供建议。
与关注相关的内容会在搜索爬网过程中编入索引。 完成爬网后,搜索分析必须分析已爬网的关注信息,并输出用户建议。 默认情况下,搜索分析每天运行一次。
当用户打开“我关注的人员”页面,将会调用 PeopleManager.GetMySuggestions() 方法。 GetMySuggestions 搜索当前用户的新建议、在数据库中更新用户建议,并在页面上显示建议。