SharePoint 2013 开发——其他社交功能

博客地址:http://blog.csdn.net/FoxDave

上一篇讲了如何获取用户配置文件的相关属性,它属于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<SocialFeed> 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<int> followedCount = followingManager.GetFollowedCount(SocialActorTypes.Users);ClientResult<SocialActor[]> followedResult = followingManager.GetFollowed(SocialActorTypes.Users);ClientResult<SocialActor[]> 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);}}

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

转载于:https://www.cnblogs.com/justinliu/p/5961609.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一个Qt+opencv程序

简单安装好Qt和编译安装好opencv后&#xff0c;简单实现第一个Qtopencv程序&#xff1a;读取并显示一张图片&#xff0c;这里我的Qt版本时5.9.1&#xff0c;opencv版本是4.0.1&#xff0c;版本的影响不大。 首先我们用Qt创建一个控制台项目&#xff0c;即在创建项目时选择Qt C…

redis学习笔记——应用场景

最近在看redis入门指南&#xff0c;现在就自己的学习情况说说自己的理解。 字符串类型&#xff08;String&#xff09; 字符串类型是Redis中最基本的类型&#xff0c;能存储任意形式的字符串&#xff0c;包括二进制数据。如一张照片也可以用字符串类型存储。注意字符串类型键允…

Graphviz从入门到不精通

1、安装Graphviz &#xff08;windows 版本&#xff0c;后面说linux下的安装&#xff09; 1.1&#xff09;下载安装文件 从graphviz官网下载 http://www.graphviz.org/Download.php 或者从我的百度网盘下载 http://pan.baidu.com/s/1i3mzunV 下载后双击安装&#xff0c;跟着提示…

HDU2602 (0-1背包)

Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 39259 Accepted Submission(s): 16261 Problem DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Col…

博客3万访问量了……

博客有3万访问量了呢。自从第一次用了赠送的1500的流量券&#xff0c;粉丝了从零突破了&#xff0c;到现在有150个粉丝了。 之前预想的写博客的初衷&#xff0c;也是记录自己的学习过程&#xff0c;毕竟好记忆不如烂笔头&#xff0c;记录下来就是长长久久的&#xff0c;随时可以…

循环多少次?

循环多少次&#xff1f; Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 17 Accepted Submission(s) : 12 Problem Description我们知道&#xff0c;在编程中&#xff0c;我们时常需要考虑到时间复杂度&#xff0…

【Java】Java里String 的equals和==

Java里面有对象和对象的引用的概念&#xff0c;在String方面&#xff0c;比较的是引用&#xff0c;equals比较的是对象的具体值。 String s1 new String("abc");String s2 new String("abc");System.out.println(s1 s2);System.out.println(s1.equals(s…

[bootstrap] 打造一个简单的系统模板(1) 左侧折叠菜单

1. 前言 最近需要做一个后台管理系统&#xff0c;我打算使用bootstrap弄一个好看的后台模板。网上的好多模板我觉的css和js有点重。 于是就打算完全依靠bootstrap搭建一个属于自己的模板。 首先从左侧的折叠菜单开始。看图。 2. CSS 代码 以下是自定义的css代码&#xff0c;由于…

How Many Shortest Path

zoj2760:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode2760 题意&#xff1a;给你一张有向带权图&#xff0c;然后问你最短路径有多少条。 题解&#xff1a;这一题用到了网络流&#xff0c;一开始&#xff0c;我想到用找到一条最短路&#xff0c;然后删除这条…

人物角色群体攻击判定二(叉乘来判断敌人的位置)

建议阅读: 判断敌人在玩家的某一个区域: http://www.cnblogs.com/plateFace/p/4716799.html 我们可以根据玩家和敌人的坐标, 进行叉乘来获取一个向量可以用它来判断敌人的位置, 敌人是否在攻击范围内. 下面我简单实现下对单体敌人是否攻击做判定 这种方式有一种重大的BUG, 假设…

HDU 5371 Manacher Hotaru's problem

求出一个连续子序列&#xff0c;这个子序列由三部分ABC构成&#xff0c;其中AB是回文串&#xff0c;A和C相同&#xff0c;也就是BC也是回文串。 求这样一个最长的子序列。 Manacher算法是在所有两个相邻数字之间插入一个特殊的数字&#xff0c;比如-1&#xff0c; Manacher算法…

平庸技术流,用 WebApi +AngularJS 实现网络爬虫

最近园子里网络爬虫很火爆&#xff0c;从 PHP 到 Python&#xff0c;从 windows服务 到 winform 程序&#xff0c;各路大神各显神通。小弟也献下丑&#xff0c;从平庸流出发&#xff0c;简述下 WebApi AngularJS 方式实现网络爬虫。 一、技术框架 1.1 前端&#xff1a; Angular…

python2.7虚拟环境virtualenv安装及使用

一 、虚拟环境virtualenv安装 1. 安装virtualenv 将Python的目录添加到系统环境变量后&#xff0c;在命令行输入&#xff1a; pip install virtualenv C:\Users\heroicai\Desktop>pip install virtualenv2. 建立虚拟环境 在桌面上建立建立一个虚拟环境myenv,输入:virtualenv…

Io 异常: The Network Adapter could not establish the connection

Io 异常: The Network Adapter could not establish the connection 这个异常的出现一般与数据库和你的PC的设置有关 这种异常的出现大致上有下面几种&#xff1a; 1。IP错误。 在设置URL时错误&#xff0c;例如&#xff1a;jdbc:oracle:thin:192.168.0.36:1521:sharp 数据库服…

iOS 9之WatchKit for WatchOS 2

金田&#xff08;github示例源码&#xff09; 自AppleWatch发行的同时就可以为AppWatch开发相应的应用程序&#xff0c;不过最初的版本&#xff0c;能开发的功能极为有限&#xff0c;所以也只是有少数的App厂商为Apple定制了App&#xff0c;所以迄今为止&#xff0c;Apple Stor…

创建响应式布局的10款优秀网格工具集锦

在这篇文章中&#xff0c;我们为您呈现了一组优秀的网格工具清单。如果我们错过了任何没有列出在这个清单上的东西&#xff0c;请分享给我们。如果网页设计和开人员采用了正确的工具集&#xff0c;并基于一个灵活的网格架构&#xff0c;以及能够把响应图像应用到到设计之中&…

Maven仓库详解

转载自&#xff1a;Maven入门指南④&#xff1a;仓库 1 . 仓库简介 没有 Maven 时&#xff0c;项目用到的 .jar 文件通常需要拷贝到 /lib 目录&#xff0c;项目多了&#xff0c;拷贝的文件副本就多了&#xff0c;占用磁盘空间&#xff0c;且难于管理。Maven 使用一个称之为仓库…

中间件、MetaQ入门学习

目录 1. 中间件技术 2. MetaQ中间件 3. MetaQ编程实践 1. 中间件技术 0x1: 中间件简介 中间件(Middleware)是提供系统软件和应用软件之间连接的软件&#xff0c;以便于软件各部件之间的沟通&#xff0c;特别是应用软件对于系统软件的集中的逻辑&#xff0c;在现代信息技术应用框…

混沌数学之吕陈吸引子

吕陈吸引子&#xff08;Lu Chen attractor&#xff09;也称Lu attractor 吸引子是2002年中国科学院数学与系统科学研究院研究员 吕金虎&#xff08;Jinhu Lu)&#xff0c;Suchun Zhang 和香港城市大学电子工程系讲座教授陈关荣&#xff08; Guangrong Chen &#xff09;发现和分…

Standard C++ Episode 7

六、C的I/O流库 C&#xff1a;fopen/fclose/fread/fwrite/fprintf/fscanf/fseek/ftell... C&#xff1a;对基本的I/O操作做了类的封装&#xff0c;其功能没有任何差别&#xff0c;用法和C的I/O流也非常近似。 七、格式化I/O <</>> 1 /*2 *格式化I/O练习3 */4 #in…