试图远程访问Sharepoint

本文关键字:Sharepoint 远程访问 | 更新日期: 2023-09-27 18:13:46

我找到了多个网站,告诉我如何远程访问Sharepoint网站,但似乎没有一个解释,更不用说回答我所遇到的问题了。

    我创建了一个简单的c#控制台应用程序
  1. 在我引用的应用程序中:Microsoft.Sharepoint,Microsoft.Sharepoint.Client,和Microsoft.Sharepoint.Client.Runtime

  2. 我能够为Microsoft.SharepointMicrosoft.Sharepoint.Client创建使用语句,但我没有得到Microsoft.Sharepoint.Client.Runtime的智能感知(我只得到应用程序,实用工具,WebParts和工作流在下拉窗口)—如果我使用Microsoft.Sharepoint.Client.Runtime输入,我在运行时

  3. 下得到"红色曲线"
  4. 注释掉Microsoft.Sharepoint.Client.Runtime,然后输入以下代码:

    const string FORMAT = "{0}: {1}";
    string strURL = "http://<the SPS site address>";
    List<string> listFields = new List<string>();
    using (SPSite oSite = new SPSite(strURL))
    {
        using (SPWeb oWeb = oSite.OpenWeb())
        {
            foreach (SPList list in oWeb.Lists)
            {
                foreach (SPField field in list.Fields)
                {
                    listFields.Add(string.Format(FORMAT, list.ID, field.Title));
                }
            }
        }
    }
    

    注意:此时,错误列表

  5. 中没有错误报告
  6. 我然后编译代码(重建)——在这一点上,我得到:

    1. 在"Sharepoint"中使用语句
    2. 五(5)个错误说明:
      • "Sharepoint"在命名空间"Microsoft"中不存在(您是否缺少程序集引用?)
      • 无法找到'SPSite'(您是否缺少using指令或汇编参考?)
      • 无法找到'SPWeb'(您是否缺少using指令或程序集引用)1X

试图远程访问Sharepoint

如果不是在安装了SharePoint的计算机上进行开发,就不能使用这些SSOM对象。

你应该使用等价的CSOM。

SPSite - Site

SPWeb - Web

List

查看MSDN中其他对象。

您只需要引用Microsoft.SharePoint.Client

下面是MSDN从列表中检索项的示例:

            string siteUrl = "http://MyServer/sites/MySiteCollection";
            ClientContext clientContext = new ClientContext(siteUrl);
            SP.List oList = clientContext.Web.Lists.GetByTitle("Announcements");
            CamlQuery camlQuery = new CamlQuery();
            camlQuery.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/>" +
                "<Value Type='Number'>10</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>";
            ListItemCollection collListItem = oList.GetItems(camlQuery);
            clientContext.Load(collListItem);
            clientContext.ExecuteQuery();
            foreach (ListItem oListItem in collListItem)
            {
                Console.WriteLine("ID: {0} 'nTitle: {1} 'nBody: {2}", oListItem.Id, oListItem["Title"], oListItem["Body"]);
            }