通过 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
其他关键对象: SocialActorSocialActorInfoSocialActorTypeSocialActorTypes
类库:Microsoft.SharePoint.Client.UserProfiles.dll
JavaScript 对象模型
请参阅: 如何:在 SharePoint 中使用 JavaScript 对象模型跟踪人员
Manager 对象: SocialFollowingManager
主命名空间: SP。社会的
其他关键对象: SocialActorSocialActorInfoSocialActorTypeSocialActorTypes
类库:SP.UserProfiles.js
REST 服务
请参阅: 关注 SharePoint 的人员和内容 REST API 参考
管理器资源: social.following
终结点 URI: <siteUri>/_api/social.following
主命名空间 (OData.md) : sp.social.SocialRestFollowingManager
其他关键资源: SocialActorSocialActorInfoSocialActorTypeSocialActorTypes
服务器对象模型 Manager 对象: SPSocialFollowingManager
主命名空间: Microsoft.Office.Server.Social
其他关键对象: SPSocialActorSPSocialActorInfoSPSocialActorTypeSPSocialActorTypes
类库:Microsoft.Office.Server.UserProfiles.dll

在 SharePoint 中关注人员所需执行的常见编程任务

表 2 显示了用于关注人员的常见编程任务以及可用于执行这些任务的成员。 这些成员来自 .NET 客户端对象模型 (CSOM)、JavaScript 对象模型 (JSOM)、REST 服务和服务器对象模型 (SSOM)。

注意

可使用相同 API 关注内容。 有关关注内容任务的概述,请参阅 关注 SharePoint 中 的内容。

SocialFollowingManager 对象将当前用户的核心"关注人员"和"关注内容"功能融合在一起。 但是, PeopleManager 对象(见表 3)提供了 SocialFollowingManager 未提供的某些功能,包括用于获取其他用户的关注人员状态的方法。

表 2. 用于通过使用 SocialFollowingManager 对象关注人员的常见任务的 API

任务 Members
在当前用户的上下文中创建管理器对象实例 CSOM: SocialFollowingManager
JSOM: SocialFollowingManager
休息: <siteUri>/_api/social.following
SSOM: SPSocialFollowingManager
在特定用户的上下文中创建管理器对象实例 CSOM:未实现
JSOM:未实现
REST:未实现
SSOM: SPSocialFollowingManager (重载)
让当前用户开始关注(停止关注)某个人员 CSOM: 遵循 ( StopFollowing )
JSOM: 遵循 ( stopFollowing)
REST: POST<siteUri>/_api/social.following/Follow (<siteUri>/_api/social.following/StopFollowing) 并在请求正文中传递 actor 参数
SSOM: 遵循 ( StopFollowing )
了解当前用户是否正在关注某个特定用户 CSOM: IsFollowed
JSOM:isFollowed
REST:POST<siteUri>/_api/social.following/my/IsFollowed,并在请求正文中传递 actor 参数
SSOM: IsFollowed
获取正在关注当前用户的人员 CSOM: GetFollowers
JSOM:getFollowers
REST:GET<siteUri>/_api/social.following/my/Followers
SSOM: GetFollowers
获取当前用户正在关注的人员 CSOM: GetFollowed
JSOM:getFollowed
REST:GET<siteUri>/_api/social.following/my/Followed(types=1)
SSOM: GetFollowed
获取当前用户正在关注的人员的计数 CSOM: GetFollowedCount
JSOM:getFollowedCount
REST:GET<siteUri>/_api/social.following/my/FollowedCount(types=1)
SSOM: GetFollowedCount
获取当前用户可能需要关注的人员 CSOM: GetSuggestions
JSOM:getSuggestions
REST:GET<siteUri>/_api/social.following/my/Suggestions
SSOM: GetSuggestions

表 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'&amp;@y='domain\\user'
SSOM: IsFollowing

SharePoint Online 上的联系人建议的工作原理

联系人建议的结果基于已建立的关注人员活动。 当用户关注某人时,如果该人员与另一个用户尚未关注的人员相互关注,则会提供建议。

与关注相关的内容会在搜索爬网过程中编入索引。 完成爬网后,搜索分析必须分析已爬网的关注信息,并输出用户建议。 默认情况下,搜索分析每天运行一次。

当用户打开“我关注的人员”页面,将会调用 PeopleManager.GetMySuggestions() 方法。 GetMySuggestions 搜索当前用户的新建议、在数据库中更新用户建议,并在页面上显示建议。

另请参阅