Salı, Aralık 29, 2015

Sharepoint Rest Api ile Sharepoint Listeler Üzerinde Çalışmak

Merhaba,

Sharepoint listelerinde tutulan verileri farklı uygulamalarda kullandırım gereksinimi duyabiliyoruz. Bu durumda listelere erişime ve üzerinde işlem yapmamız olanak tanıyan rest api 'ler ile çalışma gereksinimi oluyor. Çalışmayı sağlayabilmek için kullanılabilecek örnek kod parçası alt kısımdaki şekilde olacaktır.

using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Web.Script.Serialization;

namespace iyh
{
    public class SPListReader
    {
        public List<ListItem> GetAllSPListItems()
        {
            List<ListItem> posts = new List<ListItem>();
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://webapp/site/_api/web/lists/getbytitle('listName')/items?$select=id,Title");
            request.Method = "GET";
            request.Accept = "application/json;odata=verbose";
            request.ContentType = "application/json;odata=verbose";
            request.Credentials = System.Net.CredentialCache.DefaultCredentials;
            WebResponse response = request.GetResponse();
            Data data = null;

            // Read the returned posts into an object that can be consumed by the calling application
            using (response)
            {
                using (var reader = new StreamReader(response.GetResponseStream()))
                {
                    JavaScriptSerializer serializer = new JavaScriptSerializer();
                    try
                    {
                        string jSON = reader.ReadToEnd();
                        data = serializer.Deserialize(jSON);
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(string.Format("An error occurred when reading the list items from SharePoint: {0}; {1}", ex.Message, ex.StackTrace));
                    }
                }
            }
            foreach (ListItem post in data.d.results)
            {
                posts.Add(post);
            }
            return posts;
        }
    }

    public class Data
    {
        public Results d { get; set; }
    }

    public class Results
    {
        public ListItem[] results { get; set; }
    }

    public class ListItem
    {
        public string id { get; set; }
        public string Title { get; set; }
    }
}

Herkese iyi çalışmalar dilerim.
TT

Hiç yorum yok: