首页 > 解决方案 > 使用 SharePoint CSOM 获取子文件夹

问题描述

我想使用 CSOM 在 SharePoint 网站上的共享文档中获取一个文件夹,以便向其中添加文件。这是我当前的代码:

        // Get the folder we want to add images to
        var context = new ClientContext(sharePointSiteUrl)
        context.Credentials = new SharePointOnlineCredentials(username, password);
        Web web = context.Web;
        Folder targetFolder = web.GetFolderByServerRelativeUrl("/Shared%20Documents/" + nameOfTargerFolder);
        context.ExecuteQuery();

而且我收到此错误:“服务器相对 url 必须以 SPWeb.ServerRelativeUrl 开头”

非常感谢!

标签: c#sharepointcsom

解决方案


Web 对象具有 serverrelativeurl 属性: https ://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.spweb.serverrelativeurl?view=sharepoint-server

试试这个:

    // Get the folder we want to add images to
    var context = new ClientContext(sharePointSiteUrl)
    context.Credentials = new SharePointOnlineCredentials(username, password);
    Web web = context.Web;
    context.Load(web, w => w.ServerRelativeUrl);
    context.ExecuteQuery();
    Folder targetFolder = web.GetFolderByServerRelativeUrl(web.ServerRelativeUrl + "/Shared%20Documents/" + nameOfTargerFolder);
    context.ExecuteQuery();

推荐阅读