Search code examples
c#sharepointsharepoint-2010blogsmysite

How to programmatically retrieve SharePoint My-Sites users' blog posts using C#?


I managed to access user profile content:

    using (SPSite ospSite = new SPSite("http://localhost:80/"))
    {
        ServerContext s = ServerContext.GetContext(ospSite);
        UserProfileManager profileManager = new UserProfileManager(s);
        UserProfile p = profileManager.GetUserProfile("some_user");

        // e.g. responsibility retrieval
        var r = p["SPS-Responsibility"];
        var responsibilities = r.GetTaxonomyTerms();
    }

But I don't know how to access users' blog posts collection.

Any advice?


Solution

  • Use the PersonalSite property of UserProfile object to retrieve the user's My Site.

    In the SPSite loop through, child SPWeb objects which are of template "Blog". Check out the templates names here:

    http://blogs.msdn.com/b/richin/archive/2011/07/04/sharepoint-2010-site-template-names.aspx

    Once you find the blog site, you can simply access the items in "Posts" List of the SPWeb object.