您好,我正在使用 .net 中的客户端对象模型来访问共享点数据。 我有一个网站,其中有一些子网站。在这些子网站中,有些网站不适合我。 我想获取该子网站的列表(至少是该子网站的标题),这样我就可以通知用户这是他无权访问的子网站。
有没有办法使用.Net 中的客户端对象模型来实现这一点。
目前我正在使用 getsubwebsforcurrentuser 方法,如下所示:它为我提供了我有权访问的子网站列表。但我对我无权访问的子网站标题更感兴趣。
ClientContext clientContext = new ClientContext(path);
Web oWebsite = clientContext.Web;
WebCollection collWeb = oWebsite.GetSubwebsForCurrentUser(null);
clientContext.Load(collWeb);
之前我使用了以下代码。这引发了 serverunauthorizedaccessexception 接收,显然是因为我无权访问其中一个子网站
ClientContext clientContext = new ClientContext(path);
Web oWebsite = clientContext.Web;
clientContext.Load(oWebsite, website => website.Webs, website => website.Title);
请帮助我获取我无权访问的子网站列表,是否有任何方法可以实现此目的?
最佳答案
由于安全调整,不通过 CSOM。
但是您可以通过 SharePoint Web Services 来完成此操作,特别是使用 Webs.GetWebCollection method :
using(var proxy = new Webs())
{
proxy.Url = webUri + "/_vti_bin/Webs.asmx";
var result = proxy.GetWebCollection();
var nodes = result.SelectNodes("*");
foreach (XmlNode node in nodes)
{
var webTitle = node.Attributes["Title"].Value;
}
}
关于.net - 使用客户端对象模型获取用户在共享点中没有权限的子网站的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27385755/