Sharepoint 使用pnp以编程方式创建旋转木马Web部件

Sharepoint 使用pnp以编程方式创建旋转木马Web部件,sharepoint,web-parts,csom,p-np,Sharepoint,Web Parts,Csom,P Np,我正在尝试以编程方式在现代SharePoint页面中创建旋转木马Web部件。 我没有找到此Web部件的任何文档或示例。 我的主要问题是,我没有找到如何设置图像的URL。 我尝试手动添加旋转木马并以编程方式设置所有相同的属性,但不起作用, 主要是因为属性存储在没有setter的ServerProcessedContent中。 此页面建议设置webPartData,但没有成功: 你能发布一个样本来实现这一点吗 OfficeDevPnP.Core.Pages.ClientSidePage cl

我正在尝试以编程方式在现代SharePoint页面中创建旋转木马Web部件。 我没有找到此Web部件的任何文档或示例。 我的主要问题是,我没有找到如何设置图像的URL。 我尝试手动添加旋转木马并以编程方式设置所有相同的属性,但不起作用, 主要是因为属性存储在没有setter的ServerProcessedContent中。 此页面建议设置webPartData,但没有成功:

你能发布一个样本来实现这一点吗

    OfficeDevPnP.Core.Pages.ClientSidePage clientSidePage = GetClientSidePage("testheader");
    ClearSections(clientSidePage);
    AddSection(clientSidePage, 2);
    AddCarouselWebPart(clientSidePage, 0, 1);
    SaveClientSidePage(clientSidePage);

  Function AddCarouselWebPart:
  CanvasSection section = page.Sections[sectionId];
  ClientSideWebPart webPart = page.InstantiateDefaultWebPart(DefaultClientSideWebParts.ImageGallery);
  webPart.Properties["layout"] = 1;
        dynamic carouselSettings = new JObject();
        carouselSettings.autoplay = true;
        carouselSettings.autoplaySpeed = 5;
        carouselSettings.dots = true;
        carouselSettings.lazyLoad = true;
        carouselSettings.metadata = true;
        carouselSettings.swipe = true;
        webPart.Properties["carouselSettings"] = carouselSettings;
        dynamic gridSettings = new JObject();
        gridSettings.imageSize = 2;
        gridSettings.imageCropping = 1;
        gridSettings.imageAspectRatio = 1;
        gridSettings.lightbox = false;
        webPart.Properties["gridSettings"] = gridSettings;
        webPart.Properties["imageSourceType"] = 1;
        webPart.Properties["isRecursive"] = false;
        webPart.Properties["isCdnEnabledForList"] = false;
        webPart.Properties["hasDynamicModeEnabled"] = false;
        webPart.Properties["maxImagesCount"] = 10;

        JObject imageSources = new JObject
        {
            { "images[0].url", "/sites/Test/images/1.jpg" },
            { "images[1].url", "/sites/Test/images/2.jpg" },
            { "images[2].url", "/sites/Test/images/3.jpg" }
        };
        dynamic serverProcessedContent = new JObject();
        serverProcessedContent.htmlStrings = new JObject();
        serverProcessedContent.searchablePlainTexts = new JObject();
        serverProcessedContent.imagesources = imageSources;            
        serverProcessedContent.links = new JObject();
        JObject customMetadata = new JObject
        {
            { "images[0].url", new JObject() },
            { "images[1].url", new JObject()},
            { "images[2].url", new JObject() }
        };
        serverProcessedContent.customMetadata = customMetadata;
        JObject componentDependencies = new JObject();
        componentDependencies["layoutComponentId"] = "8ac0c53c-e8d0-4e3e-87d0-7449eb0d4027";
        serverProcessedContent.componentDependencies = componentDependencies;
        JObject final = new JObject
        {
            { "serverProcessedContent", serverProcessedContent}
        };
        webPart.Properties["webPartData"] = final;

        //webPart.ServerProcessedContent = serverProcessedContent;
        page.AddControl(webPart, section.Columns[columnId], 1);