使用 SharePoint CSOM 获取子文件夹

Get a subfolder using 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();

我收到这个错误:"Server relative urls must start with SPWeb.ServerRelativeUrl"

非常感谢!

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();