Сайты с управляемым путем / MySite не является управляемым путем в этом клиенте - PullRequest
0 голосов
/ 21 февраля 2020

Почему я получаю эту ошибку? Это мой код, полученный от здесь для получения всех сайтов и дочерних сайтов, но вместо того, чтобы давать имя пользователя и пароль напрямую, я использовал сертификат аутентификации, например this . Поток работает просто отлично, но выдает эту ошибку «Сайты с управляемым путем / MySite не является управляемым путем в этом клиенте». когда функция GetSubSite () вызывается рекурсивно в первый раз. Как и для сайта: https://tenant.sharepoint.com/sites/MySite, когда для SiteCollection MySite есть два дочерних сайта, тогда URL-адрес дочерних сайтов 1 будет передан в качестве параметра для функции GetSubSite () в качестве 1-й рекурсии, когда возникает эта ошибка. Что я делаю не так?

public SiteStats GetSubSite(string Url, int siteLevel)
{
    using(var context = new ClientContext(adminSiteUrl))
    {
        var tenant = new Tenant(context);
        var site = tenant.GetSiteByUrl(Url);
        context.Load(site, w => w.RootWeb);
        var web = site.RootWeb;
        context.Load(web, w => w.Webs);
        context.ExecuteQuery();
        WebCollection webCollection = web.Webs;
        var siteStats = new SiteStats(siteLevel);
        try
        {
            if (webCollection.Count > 0)
            {
                siteLevel++;
                context.Load(webCollection, someProperties);
                context.ExecuteQuery();
                foreach (var webIt in webCollection)
                {
                    var webItem = site.OpenWeb(webIt.ServerRelativeUrl);
                    context.Load(webItem);
                    context.ExecuteQuery();
                    GetSubSite(webItem.Url, siteLevel);
                }
        }
    }
}
...