【问题标题】:How to programatically summarize existing documents in Sharepoint如何以编程方式总结 Sharepoint 中的现有文档
【发布时间】:2015-04-14 20:27:42
【问题描述】:

大家。

我不知道这是否是一个可能的行动,但它会帮助我很多。

以下是场景:我们在 Sharepoint 中创建了一个“团队空间”,我们在不同的文件夹中有大量技术文档。问题是我们失去了对它的控制,现在我们需要创建现有文件的摘要。所以,希望我们不需要进入每个文件夹和子文件夹并写下每个文件名,我想知道是否可以在 C# 中以编程方式执行此操作。

简而言之,有没有办法通过 C# 应用程序在 Sharepoint 中连接(我可以使用我的网络帐户,该帐户已授予它访问权限),然后检索现有文件的列表,或者至少获取它们的路径?如果是这样,是不是太复杂了?

提前谢谢你。

【问题讨论】:

    标签: c# sharepoint sharepoint-2010


    【解决方案1】:

    过去,当我想通过 C# 与 Sharepoint 交互时,我使用过 Microsoft 提供的 Web 服务。 Lists web 服务可用@http://domain/sites/yourrepository/_vti_bin/lists.asmx

    【讨论】:

      【解决方案2】:

      这个话题已经讨论过了,你可以用powershell来做。

      您将在此处找到所需的信息: List of documents in Entire Sharepoint Site

      【讨论】:

        【解决方案3】:

        感谢 Isaac 和 ProjectedJetpacks 的回答,不过我可以用另一种方式来解决这个问题。我使用了 Microsoft.Sharepoint.Client.dll 程序集(您需要安装 Sharepoint Client SDK)并浏览了网站内的所有列表。然后,在每个文件夹中,我搜索文件夹(并使用递归方法直到文件夹树的最后一叶)和每个文件夹中的文件。最后,将我需要的所有文件信息放入 CSV 文件中。一些工作示例如下:

        ClientContext context = new ClientContext("<websiteurl>");
        Web web = context.Web;
        context.Load(web);
        context.ExecuteQuery();
        var q = from list in web.Lists
                        where <put condition here>
                        select list;
        var r = context.LoadQuery(q);
        context.ExecuteQuery();
        
        foreach (var list in r)
        {
           context.Load(list.RootFolder);
           context.ExecuteQuery();
           ...
           //To get folders
           GetFolders(context, list.Root.Folders);
           //To get files
           GetFiles(context, list.RootFolder.Files);
         }
        

        重要的是记住将每个卸载的对象放在“context.Load()”中,并在调用“context.ExecuteQuery()”之后。

        我希望这对其他人有帮助。

        最好的问候。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-25
          • 1970-01-01
          • 1970-01-01
          • 2011-01-09
          • 2012-02-15
          • 2013-07-10
          • 1970-01-01
          • 2014-07-19
          相关资源
          最近更新 更多