博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SharePoint 2013 开发——其他社交功能
阅读量:6844 次
发布时间:2019-06-26

本文共 2902 字,大约阅读时间需要 9 分钟。

博客地址:

上一篇讲了如何获取用户配置文件的相关属性,它属于SharePoint 2013社交功能的一个小的构成部分。社交功能是SharePoint 2013改进的一大亮点。可以在现有网站上开启社交功能或者新建一个专门用于社交用途的社区网站,社交功能包括关注(人或内容)、艾特@、#等功能、有清晰的用户积分制度等等。由于工作中不会有太多关于这方面的开发需求,并且个人觉得这部分做得挺不错,基本的需求应该是够用了(强大的或许就不在SharePoint上了微笑),所以本篇只会用两个小例子展示一下如何用客户端对象模型与SharePoint社交功能进行交互来说明SharePoint 2013社交功能的开发,当然不仅限于客户端对象模型,JSOM和REST也可以做类似的事情。

包括之前提到的用户配置文件相关的开发,在用客户端对象模型做社交相关功能的代码交互开发时,需要引入Microsoft.SharePoint.Client、Microsoft.SharePoint.ClientRuntime和Microsoft.SharePoint.Client.UserProfiles这三个程序集,并在代码文件头部增加如下两个引用:

using Microsoft.SharePoint.Client;using Microsoft.SharePoint.Client.Social;

首先构建上下文对象:

ClientContext clientContext = new ClientContext("
<你的网站url>
");

在Microsoft.SharePoint.Client.Social这个命名空间下,有SocialFeedManager、SocialFeedOptions、SocialPostCreationData和SocialFollowingManager等对象模型可供我们使用,分别跟订阅、回帖、关注等有关。

获取指定用户的动态:

SocialFeedManager feedManager = new SocialFeedManager(clientContext);            SocialFeedOptions feedOptions = new SocialFeedOptions();            feedOptions.MaxThreadCount = 10;            ClientResult
feed = feedManager.GetFeedFor("
<指定的用户>
", feedOptions); clientContext.ExecuteQuery(); for (int i = 0; i < feed.Value.Threads.Length; i++) { SocialThread thread = feed.Value.Threads[i]; string postText = thread.RootPost.Text; Console.WriteLine("\t" + (i + 1) + ". " + postText); }

获得指定用户关注和被关注的人:

static void Main(string[] args)        {            string serverUrl = "
<你的网站url>
"; string targetUser = "
<指定的用户>
"; ClientContext clientContext = new ClientContext(serverUrl); SocialFollowingManager followingManager = new SocialFollowingManager(clientContext); SocialActorInfo actorInfo = new SocialActorInfo(); actorInfo.AccountName = targetUser; ClientResult
followedCount = followingManager.GetFollowedCount(SocialActorTypes.Users); ClientResult
followedResult = followingManager.GetFollowed(SocialActorTypes.Users); ClientResult
followersResult = followingManager.GetFollowers(); clientContext.ExecuteQuery(); Console.WriteLine("当前用户关注的人数: ({0})", followedCount.Value); IterateThroughPeople(followedResult.Value); Console.WriteLine("\n谁关注此用户:"); IterateThroughPeople(followersResult.Value); Console.ReadKey(); } static void IterateThroughPeople(SocialActor[] actors) { foreach (SocialActor actor in actors) { Console.WriteLine(" - {0}", actor.Name); Console.WriteLine("\t链接: {0}", actor.PersonalSiteUri); Console.WriteLine("\t头像: {0}", actor.ImageUri); } }

更多内容请参考微软,写得还是很详细清晰的,如果我们在工作中遇到了相关内容的任务,能够提供很有力的参考和帮助。

你可能感兴趣的文章
统一沟通-技巧-9-Lync 2010-Outlook 2010-自动配置-2-普通人员
查看>>
js/nodejs检测时间有效性
查看>>
IOS UITableView详解二性能优化 & LOL游戏人物展示
查看>>
nexus 7 恢复出厂设置后一系列问题
查看>>
关于jFinal Db.query与Db.find 的理解
查看>>
源码解读Saltstack运行机制之Job Runtime
查看>>
2012-01-07 21:58
查看>>
Hyper-V: Making Template Virtual Machines
查看>>
如何避免忙成狗
查看>>
JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、Servle
查看>>
使用Redisson实现分布式锁
查看>>
LVS DR模式详细搭建过程
查看>>
致敬 54岁的刘德华
查看>>
使用pushd和popd进行快速定位
查看>>
Vmware Workstation 10.0.1 build-1379776 patch for Linux kernel 3.13
查看>>
error while loading shared libraries: libiconv.so.2
查看>>
shell自动分区
查看>>
记录几个重要词汇的解析。
查看>>
在web项目中使用KSOAP2调用WebService
查看>>
zabbix安装详细文档
查看>>