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.pswp.cn/news/375692.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375692.shtml
英文地址,請注明出處:http://en.pswp.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;包括二進制數據。如一張照片也可以用字符串類型存儲。注意字符串類型鍵允…

Unity的Cover flow的實現包(2個)

蘋果的mac機上預覽圖片&#xff0c;有一個所謂的cover flow的效果&#xff0c;這里收集到兩個&#xff0c;兩個實現效果略有不同。 1、老外的實現 https://github.com/rakkarage/Unity3D-CoverFlow 這個焦點圖片在到最后位置前會模擬一個抖動效果 2、國人的實現 http://game.ce…

卸載全部appx應用(包括應用商店)

在PowerShell中粘貼&#xff1a; Get-AppXPackage | Remove-AppxPackage 轉載于:https://www.cnblogs.com/Bob-wei/p/4691854.html

求兩個整數數組乘積最小值

輸入&#xff1a; 三行&#xff1a; 第一行&#xff1a;n&#xff0c;表示數組的個數 第二行&#xff1a;數組a各個元素的值 第三行&#xff1a;數組b各個元素的值輸出&#xff1a; 式子&#xff1a;a[0]*b[0]a[1]*b[1]...a[n-1]*b[n-1];的最小值 其中數組a中元素順序可以調整…

Xcode快捷鍵整理

做iOS開發&#xff0c;避免不了的就是要和Xcode打交道&#xff0c;如果對Xcode的快捷方式熟練的話&#xff0c;這樣會對我們項目開發速度有很大的提高。也是對你能力的一種提升&#xff0c;下面就是Abel整理的一些資料&#xff0c;希望有一些幫助&#xff1a; 1、文件類 新建項…

Perl語言編程學習筆記2

1. Perl中變量的常用表示 ${var} 相當于 $var $Dog::days 在Dog包里面的變量$days $#days days 的最后一個索引 $days->[2] $days 引用的數組的的第3個元素 $days[0][2] 多維數組 $days{200}{Feb} 多維哈希 $days{2000,"Feb"} 多維哈希仿真 emulation days[…

關于跨平臺下end-of-line問題

因為項目需要&#xff0c;同時開發了Linux/Windows版本的程序&#xff0c;后面在實際測試過程中&#xff0c;發現兩個版本之間的體現出來的行為有些不一致&#xff0c;大致情況如下&#xff1a; 1、Linux下代碼能編譯通過&#xff0c;Windows下編譯通過 2、Linux下程序功能正常…

QImage與Mat之間的相互轉換

Mat轉QImage Mat matimread("c:/dev/test.jpg"); cvtColor(mat, mat, CV_BGR2RGB); QImage image(mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);Qt與OpenCv之間傳輸數據時&#xff0c;QImage::Format_RGB888是最兼容的模式. OpenCv 加載BGR格式…

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;跟著提示…

條款32: 盡可能地推遲變量的定義

// 此函數太早定義了變量"encrypted" string encryptPassword(const string& password) {string encrypted;//默認構造函數初始化if (password.length() < MINIMUM_PASSWORD_LENGTH) {throw logic_error("Password is too short");}進行必要的操作&…

xilinx-arm-linux交叉編譯鏈安裝

1、下載交叉編譯鏈 xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin&#xff0c;直接搜這個&#xff0c;網上有資源。 2、安裝依賴庫 sudo apt-get install lib32ncurses5 lib32z1 3、修改shell sudo dpkg-reconfigure -plow dash&#xff0c;在出現的界面中選no 4、安裝 ./xi…

第一章 1.6 HTML5 的新功能(二)

1.6.4 使用 Selectors API 簡化選取操作 除了語義化元素外&#xff0c;HTML5 還引入了一種用于查找頁面 DOM 元素的快捷方式。 1-3 列出表了在 HTML5 出現之前&#xff0c;用來在頁面中查找特定元素的函數。 函數描述示例getElementById()根據指定的id特性值查找并返回元素<…

Mercurial hg web server的配置

在windows下安裝tortoisehg-1.0.3-hg-1.5.3-x64.exe的版本控制工具后&#xff0c;克隆建立中心庫后&#xff0c;啟動web server&#xff0c;其他分庫可以連接中心庫進行pull但無法push。 這個可能是tortoisehg工具的問題&#xff0c;需要手工在.hg/hgrc文件中加入以下內容才可以…

dorado開發模式下實現動態查詢

使用dorado開發模式,我們可以實現以下開發技巧 開發技巧1.實現動態查詢功能: 1. 查詢按鈕的onClick事件中寫入: datasetEmployee.parameters().setValue(“employee_id”, editor_employee_id.value); datasetEmployee.parameters().setValue(“employee_name”, editor_employ…

港澳通行證辦理手續

港澳通行證辦理手續&#xff1a; 一、辦理前準備 1、 戶口本 原件復印件。 2、 身份證 (一張紙&#xff0c;正反面)原件復印件。 3、 兩張兩寸白底免冠照片。 二、辦理地點 1、戶口所在地公安局 出入境管理處&#xff08;科&#xff09;。 三、辦理時 1、排隊、填寫 【往來港澳…

undefined reference to `cv::VideoCapture::VideoCapture()'

缺少庫&#xff0c;添加相應庫就行&#xff0c;我的Qt Create中做的是&#xff1a; LIBS -L/home/mima111/opencv345/lib -lopencv_imgcodecs -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio 實際上添加-lopencv_videoio就行

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;隨時可以…

Mint17 一些安裝備忘

1&#xff0c;中文輸入法&#xff1a; sudo apt-add-repository ppa:fcitx-team/dailybuild-fcitx-master sudo apt-get update sudo apt-get upgrade sudo apt-get remove ^ibus* sudo apt-get remove ^fcitx* sudo apt-get install fcitx fcitx-bin fcitx-config-common fcit…