我想要构建一个应用程序(使用SharePoint CSOM)来从SharePoint场获取所有用户和SharePoint组。需要从场中可能存在的所有网站集获取用户和组。浏览完文档后,Site类https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.site_methods(v=office.14).aspx似乎只表示一个“单一”SiteCollection。这太棒了。但是,在应用程序可以为每个SiteCollection创建Site对象之前,应用程序需要确定场中存在的所有SiteCollections。是否有类/方法可以检索SharPoint场中的所有SiteCollection?
发布于 2015-06-15 14:04:42
如果启用了搜索,则有一种方法可以使用搜索结果执行此操作:
KeywordQuery query = new KeywordQuery(site);
query.QueryText = string.Format("Path:{0} AND ContentClass:STS_Site", webAppURL);
query.RowLimit = 500;//max row limit is 500 for KeywordQuery
query.ResultsProvider = SearchProvider.Default;
query.EnableStemming = true;
query.TrimDuplicates = false;
query.AuthenticationType = QueryAuthenticationType.PluggableAuthenticatedQuery;
query.KeywordInclusion = KeywordInclusion.AllKeywords;
SearchExecutor executor = new SearchExecutor();
ResultTableCollection resultTableCollection = executor.ExecuteQuery(query);
var resultTables = resultTableCollection.Filter("TableType", KnownTableTypes.RelevantResults);
var resultTable = resultTables.FirstOrDefault();来源:https://sharepoint.stackexchange.com/questions/133073/get-all-site-collections-with-csom
(顺便说一句,使用SharePoint Online会更容易,你可以使用SPOSitePropertiesEnumerable类。SharePoint CSOM, retrieving site collections. Limited to 300?)
https://stackoverflow.com/questions/30781481
复制相似问题