为什么会出现此错误?这是我从here引用的代码,它获取所有站点和子站点,但是我没有直接提供用户名和密码,而是使用了this这样的证书身份验证。该流工作正常,但会引发此错误“托管路径站点/ MySite在此租户中不是托管路径”。第一次递归调用GetSubSite()函数时。就像网站https://tenant.sharepoint.com/sites/MySite一样,当有两个SiteCollection MySite子站点时,子站点1的Url将作为GetSubSite()函数的参数传递,作为引发该错误的第一个递归。我在做什么错了?
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);
}
}
}
}