我正在开发一个重用以前解决方案中的一些代码的应用程序。
这个想法是向用户显示网站集中所有网站中某种类型的所有列表,以便用户可以聚合一些数据。
static public List<SPListMeta> AllSiteAnnouncementsLists(ClientContext clientContext)
{
var returnList = new List<SPListMeta>();
var per = new BasePermissions();
per.Set(PermissionKind.Open);
if (clientContext.Site.RootWeb.DoesUserHavePermissions(per).Value)
{
var rootWebLists = clientContext.Site.RootWeb.Lists;
returnList.AddRange(from List oList in rootWebLists
where oList.DoesUserHavePermissions(SPBasePermissions.ViewListItems) &&
where oList.BaseTemplate == (int)ListTemplateType.Announcements
select new SPListMeta(oList));
var collWebs =
clientContext.Site.OpenWebById(clientContext.Site.RootWeb.Id).GetSubwebsForCurrentUser(null);
foreach(Web oWeb in collWebs)
{
}
}
return returnList;
}
不起作用且似乎没有替代品的临界线是
oList.DoesUserHavePermissions(SPBasePermissions.ViewListItems)
因为这已从 CSOM 列表对象中删除
有什么新方法可以做到这一点?