Как получить отрендеренные данные Sharepoint WebPart с использованием клиентской объектной модели

Я пытаюсь получить доступ к данным удаленно с сайта sharepoint 2010 с помощью клиентской объектной модели. Из-за некоторых ограничений я не могу использовать запрос CAML, даже если я использую его, я не могу отфильтровать нужную аудиторию на основе логина пользователя (если вы можете мне помочь в отношении запроса CAML, то тоже хорошо: я не знаю, как получить имя текущей аудитории пользователя и все аудитории, использующие объектную модель CAML/ клиент. Этот код находится на мобильном сайте и вызывает сайт точки обмена, как показано в моем коде). Следующий код работает хорошо, но не может получить контент из веб-части. Может ли кто-нибудь помочь по этому поводу.

    using (ClientContext ctx = new ClientContext("https://mysite.com/Pages/Default.aspx"))
      {
                 ctx.ExecutingWebRequest += new EventHandler<WebRequestEventArgs>   (clientContext_ExecutingWebRequest);    

                 File home=ctx.Web.GetFileByServerRelativeUrl("/Student/Pages/default.aspx");                      
             //get the web part manager
                     Microsoft.SharePoint.Client.WebParts.LimitedWebPartManager wpm = home.GetLimitedWebPartManager(Microsoft.SharePoint.Client.WebParts.PersonalizationScope.Shared);

                IEnumerable<Microsoft.SharePoint.Client.WebParts.WebPartDefinition> wpds = null;
             //create the LINQ query to get the web parts from
             //the web part definition collection
                wpds = ctx.LoadQuery(wpm.WebParts.Include(wp => wp.Id,wp => wp.WebPart)); 
             //load the list of web parts
                ctx.ExecuteQuery();
             //enumerate the results
                foreach (Microsoft.SharePoint.Client.WebParts.WebPartDefinition wpd in wpds)
                {
                   string title=  wpd.WebPart.Title;
                   Microsoft.SharePoint.Client.WebParts.WebPart wpart = wpd.WebPart;     

                  ????? How to render and receive the data (looking for the same data When you browse the site with the browser)      
                }

              Code continues...

1 ответ

Я тоже борюсь с этим вопросом. Похоже, что это невозможно с объектной моделью клиента. На самом деле я попросил об этом одного сотрудника SharePoint на Build Conference 2012.

Но с помощью SharePoint Designer фактически можно загрузить требуемый WebPart. Fiddler может пригодиться, чтобы отследить, какая служба доставит вам биты.

Взгляните на этот пост здесь на SharePoint StackExchange

К сожалению, пост не даст вам никакого конкретного способа решить эту проблему.

Удачи тебе!

Другие вопросы по тегам