<br />
<b>Deprecated</b>:  YoastSEO_Vendor\Symfony\Component\DependencyInjection\Container::__construct(): Implicitly marking parameter $parameterBag as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/dependency-injection/Container.php</b> on line <b>60</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\League\OAuth2\Client\Provider\AbstractProvider::authorize(): Implicitly marking parameter $redirectHandler as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/AbstractProvider.php</b> on line <b>416</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\GuzzleHttp\Client::getConfig(): Implicitly marking parameter $option as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Client.php</b> on line <b>181</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\GuzzleHttp\ClientInterface::getConfig(): Implicitly marking parameter $option as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php</b> on line <b>77</b><br />
{"id":2000,"date":"2013-09-15T23:07:52","date_gmt":"2013-09-15T21:07:52","guid":{"rendered":"https:\/\/blog.sharedove.com\/adisjugo\/?p=2000"},"modified":"2013-09-15T23:07:52","modified_gmt":"2013-09-15T21:07:52","slug":"get-followed-documents-for-an-user-in-sharepoint-2013-social","status":"publish","type":"post","link":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/","title":{"rendered":"Get followed documents for an user in SharePoint 2013 social"},"content":{"rendered":"<p>It is a common task in enterprise social scenarios to retrieve all followed documents for an user. This code snipped shows how to achieve that, plus, how to check if an user actually should have right at all to follow that particular document, since <a href=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/08\/24\/follow-a-document-on-behalf-of-an-user-in-sharepoint-2013-social\/\">following documents is not security trimmed<\/a>.<\/p>\n<p><!--more--><\/p>\n<pre class=\"brush: csharp; title: Code sample:; notranslate\" title=\"Code sample:\">\n{\n    SPServiceContext context = SPServiceContext.GetContext(site);\n\n    UserProfileManager profileManager = new UserProfileManager(context);\n\n    if (profileManager.UserExists(username))\n    {\n        UserProfile userProfile = profileManager.GetUserProfile(username);\n\n        \/\/get the Social Feed Manager of the current user\n        SPSocialFeedManager feedManager = new SPSocialFeedManager(userProfile, context);\n\n        \/\/But, since the FollowingManager property of the feedManager is not aware of the user context, feed manager is in THIS scenario useless\n        \/\/we need to create SPSocialFollowingManager object in user context, and to use that for the following purposes\n        SPSocialFollowingManager followingManager = new SPSocialFollowingManager(userProfile, context);\n\n        SPSocialActor&#x5B;] documents = followingManager.GetFollowed(SPSocialActorTypes.Documents);\n\n        Console.WriteLine(&quot;Followed documents:&quot;);\n        foreach (SPSocialActor actor in documents)\n        {\n            Console.WriteLine(string.Format(&quot;Name: {0} Uri: {1}&quot;, actor.Name, actor.Uri));\n\n            \/\/now, get the SPSite and the SPWeb of the followed document\n            string&#x5B;] parts = actor.Id.Split('.');\n            Guid siteId = new Guid(parts&#x5B;1]);\n            Guid webId = new Guid(parts&#x5B;2]);\n\n            \/\/for a test, check if the user should actually be allowed to follow the document at all\n            using (SPSite lsite = new SPSite(siteId))\n            {\n                using (SPWeb lweb = site.OpenWeb(webId))\n                {\n                    SPListItem itm = lweb.GetListItem(actor.Uri.ToString());\n\n                    SPUser targetUser = lweb.EnsureUser(userProfile.AccountName);\n\n                    bool canRead = itm.DoesUserHavePermissions(targetUser, SPBasePermissions.ViewListItems);\n\n                    if (canRead)\n                    {\n                        Console.WriteLine(&quot;Allowed to follow&quot;);\n                    }\n                    else\n                    {\n                        Console.WriteLine(&quot;NOT allowed to follow&quot;);\n                    }\n\n                };\n            };\n\n        }\n    }\n    else\n    {\n        Console.WriteLine(string.Format(&quot;User Profile for user {0} does not exist&quot;, username));\n    }\n}\n<\/pre>\n<div class=\"fb-background-color\">\n\t\t\t  <div \n\t\t\t  \tclass = \"fb-comments\" \n\t\t\t  \tdata-href = \"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/\"\n\t\t\t  \tdata-numposts = \"59\"\n\t\t\t  \tdata-lazy = \"true\"\n\t\t\t\tdata-colorscheme = \"light\"\n\t\t\t\tdata-order-by = \"time\"\n\t\t\t\tdata-mobile=true>\n\t\t\t  <\/div><\/div>\n\t\t  <style>\n\t\t    .fb-background-color {\n\t\t\t\tbackground:  !important;\n\t\t\t}\n\t\t\t.fb_iframe_widget_fluid_desktop iframe {\n\t\t\t    width: 100% !important;\n\t\t\t}\n\t\t  <\/style>\n\t\t  ","protected":false},"excerpt":{"rendered":"<p>It is a common task in enterprise social scenarios to retrieve all followed documents for an user. This code snipped shows how to achieve that, plus, how to check if an user actually should have right at all to follow that particular document, since following documents is not security trimmed.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[11],"tags":[57,61],"class_list":["post-2000","post","type-post","status-publish","format-standard","hentry","category-development","tag-sharepoint2013","tag-social"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Get followed documents for an user in SharePoint 2013 social - Adis Jugo blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get followed documents for an user in SharePoint 2013 social - Adis Jugo blog\" \/>\n<meta property=\"og:description\" content=\"It is a common task in enterprise social scenarios to retrieve all followed documents for an user. This code snipped shows how to achieve that, plus, how to check if an user actually should have right at all to follow that particular document, since following documents is not security trimmed.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/\" \/>\n<meta property=\"og:site_name\" content=\"Adis Jugo blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-09-15T21:07:52+00:00\" \/>\n<meta name=\"author\" content=\"adis.jugo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"adis.jugo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/\",\"name\":\"Get followed documents for an user in SharePoint 2013 social - Adis Jugo blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\"},\"datePublished\":\"2013-09-15T21:07:52+00:00\",\"author\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.sharedove.com\/adisjugo\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get followed documents for an user in SharePoint 2013 social\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/\",\"name\":\"Adis Jugo blog\",\"description\":\"The Southern Side\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.sharedove.com\/adisjugo\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\",\"name\":\"adis.jugo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g\",\"caption\":\"adis.jugo\"},\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/author\/adisjugo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Get followed documents for an user in SharePoint 2013 social - Adis Jugo blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/","og_locale":"en_US","og_type":"article","og_title":"Get followed documents for an user in SharePoint 2013 social - Adis Jugo blog","og_description":"It is a common task in enterprise social scenarios to retrieve all followed documents for an user. This code snipped shows how to achieve that, plus, how to check if an user actually should have right at all to follow that particular document, since following documents is not security trimmed.","og_url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/","og_site_name":"Adis Jugo blog","article_published_time":"2013-09-15T21:07:52+00:00","author":"adis.jugo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"adis.jugo","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/","url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/","name":"Get followed documents for an user in SharePoint 2013 social - Adis Jugo blog","isPartOf":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website"},"datePublished":"2013-09-15T21:07:52+00:00","author":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c"},"breadcrumb":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/09\/15\/get-followed-documents-for-an-user-in-sharepoint-2013-social\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.sharedove.com\/adisjugo\/"},{"@type":"ListItem","position":2,"name":"Get followed documents for an user in SharePoint 2013 social"}]},{"@type":"WebSite","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website","url":"https:\/\/blog.sharedove.com\/adisjugo\/","name":"Adis Jugo blog","description":"The Southern Side","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.sharedove.com\/adisjugo\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c","name":"adis.jugo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g","caption":"adis.jugo"},"url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/author\/adisjugo\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/2000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/comments?post=2000"}],"version-history":[{"count":0,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/2000\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/media?parent=2000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/categories?post=2000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/tags?post=2000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}