繁体   English   中英

通过REST从SharePoint 2013中的列表中提取数据

[英]Pulling data from a list in SharePoint 2013 via REST

我正在尝试在Azure(C#)中构建将数据推送到客户端应用程序的移动服务。 我需要提取的数据来自一个我不太熟悉或无法访问的共享站点。

我已经在线阅读了一些资源,但是每当我尝试通过_api / web / lists /_api / web / lists / getbytitle('pages')快速访问列表时, 都会收到身份验证提示。

这是默认行为还是其他api已关闭? 我需要构建一个共享点应用程序来生成oauth令牌,然后访问列表吗?

我基本上一无所知,因此不胜感激。

使用以下URL:

  • 获取所有列表 http://servername/_api/web1/web2/lists/
  • 按标题获取列表 http://servername/_api/web1/web2/lists/GetByTitle('myList')
  • 获取特定列表中的所有项目 http://servername/_api/web1/web2/lists/GetByTitle('myList')/items
  • 通过项目ID http://servername/_api/web1/web2/lists/GetByTitle('myList')/items/GetItemById(4)
  • 返回具有特定字段的项目 http://servername/_api/web1/web2/lists/GetByTitle('myList')/items?$select=Title,Age

有关更多详细信息,请访问链接http://wmostafaw.wordpress.com/2012/11/17/odata-in-sharepoint-2013-lists-and-items/

这是默认行为。 您将需要凭据才能访问REST服务,并且已经创建了Digest以编程方式执行此操作:

String retVal = "";
    try
    {
         string url = "https://YourSite.com/";
         HttpClient client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });
          client.BaseAddress = new System.Uri(url);
          string cmd = "_api/contextinfo";
          client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
          client.DefaultRequestHeaders.Add("ContentType", "application/json");
          client.DefaultRequestHeaders.Add("ContentLength", "0");
          StringContent httpContent = new StringContent("");
          var response = client.PostAsync(cmd, httpContent).Result;
          if (response.IsSuccessStatusCode)
          {
              string content = response.Content.ReadAsStringAsync().Result;
               JsonObject val = JsonValue.Parse(content).GetObject();
               JsonObject d = val.GetNamedObject("d");
               JsonObject wi = d.GetNamedObject("GetContextWebInformation");
               retVal = wi.GetNamedString("FormDigestValue");
           }
     }
     catch
     { }
return retVal;

如果您拥有一个可以访问SharePoint中的列表的帐户,则在将摘要传递给Digest之后,您应该能够使用该帐户对REST服务进行身份验证并检索列表项。 如果您有一个,我的博客上有很多此类示例的代码示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM