以前のソリューションのコードを再利用するアプリに取り組んでいます。
ユーザーがデータを集約できるように、サイト コレクション内のすべての Web で特定の種類のリストをすべてユーザーに表示するという考え方です。
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 List オブジェクトから削除されたため
これを行う新しい方法は何ですか?