我对 Sharepoint 编程完全陌生,所以我需要一些指导来了解如何获取 Sharepoint 站点中存在的所有文档的列表,这些文档的扩展名与传入的值匹配。
背景:作为合并的一部分,数以百万计 (7TB) 的文档被导入到 Sharepoint,而不考虑文件类型,这样我们就可以从正在关闭的系统中获取存储的数据。
这些文档中包括危险的文件类型,如 .exe 和 .dll 文件,我们需要保留这些文件,但希望采取适当的措施来确保这些类型的恶意文件不能直接下载。
我们的计划是提取与我们的搜索列表匹配的每个文件,对其进行压缩,上传压缩文件并删除原始文件。为此,我们需要一个一次性应用程序。
实际上涉及多个站点-因此理想情况下,我希望运行一个查询来访问所有站点中的所有文档(它们都在一个根目录下,但它们每个都有自己的数据库),但是我可以遍历一组的网站。
我的想法是使用 Sharepoint 客户端对象模型对每个站点执行查询,以返回给定类型的所有文件的列表。我想要类似的东西
SharepointSite site = new SharepointSite(siteElement, settings.RootURL);
ClientContext clientContext = site.Context;
ListCollection listCollection = clientContext.Web.Lists;
clientContext.Load(listCollection, l=>l.Name.EndsWith(".exe"));
clientContext.Load(listCollection);
clientContext.ExecuteQuery();
但这绝对不是。
我应该如何处理这个问题?