У меня есть требование добавить клиентскую веб-часть из приложения, размещенного у поставщика, на страницу в хост-сети, на которой он развернут. Я пробовал использовать для этого Limited WebPart Manager клиентской объектной модели, но это работает только для XML-данных, которые являются частью файлов .dwp или .webpart. Я использовал приведенный ниже код. Есть ли обходной путь, чтобы получить файлы частей приложения с сайта и добавить их на страницу Sharepoint?
ClientContext clientconteext = new ClientContext("My Server URL");
Microsoft.SharePoint.Client.File page = clientconteext.Web.GetFileByServerRelativeUrl("/sites/MySite/SitePages/Home.aspx");
clientconteext.Load(clientconteext.Web);
clientconteext.Load(page);
clientconteext.ExecuteQuery();
LimitedWebPartManager lwp= page.GetLimitedWebPartManager(PersonalizationScope.Shared);
string webpartxml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\"><WebPartPages:ClientWebPart runat=\"server\" FeatureId=\"5b1a14dd-8dbe-4963-8612-e7918e7fbc9a\" ProductWebId=\"5b1a14dd-8dbe-4963-8612-e7918e7fbc9a\" WebPartName=\"HomePageAppPart\" Title=\"Home App Part\" Description=\"WebPart Description\" WebPart=\"true\"></WebPartPages:ClientWebPart></Elements>";
WebPartDefinition wpd = lwp.ImportWebPart(webpartxml);
lwp.AddWebPart(wpd.WebPart, "Right", 1);
clientconteext.ExecuteQuery();