public string DeleteItem(ClientContext ctx, string ListName, string ID) { var responseText = ""; try { RetrieveAccessToken(ctx); XmlNamespaceManager xmlnspm = AddXmlNameSpaces(); var formDigestNode = GetFormDigest(ctx.Url, xmlnspm); string formDigest = formDigestNode.InnerXml; string listUrl = RestUrlList(ListName); var Url = ctx.Url + "/_api/web/lists/getByTitle('" + ListName + "')/items(" + ID + ")"; HttpWebRequest ItemRequest; ItemRequest = (HttpWebRequest)HttpWebRequest.Create(Url); ItemRequest.Method = "POST"; ItemRequest.Headers.Add("X-HTTP-Method", "DELETE"); ItemRequest.Headers.Add("IF-MATCH", "*"); ItemRequest.Headers.Add("Authorization", accessToken); ItemRequest.Headers.Add("X-RequestDigest", formDigest); using (Stream itemRequestStream = ItemRequest.GetRequestStream()) { itemRequestStream.Close(); } using (HttpWebResponse itemResponse = (HttpWebResponse)ItemRequest.GetResponse()); return(responseText); } catch (Exception ex) { throw new Exception(string.Format("An error occured while reading data. GUID: {0}", ex.ToString())); } }
public string UpdateItem(ClientContext ctx, string ListName, string Itemdate, string ID) { var responseText = ""; try { RetrieveAccessToken(ctx); XmlNamespaceManager xmlnspm = AddXmlNameSpaces(); string listUrl = RestUrlList(ListName); string Metadata = GetEntityTypeName(ctx.Url, listUrl, xmlnspm); // string Metadata = String.Format("SP.Data.{0}ListItem", ListName); string listname = "'__metadata':{ 'type': '" + Metadata + "'}"; string itemPostBody = "{" + listname + "," + Itemdate + "}"; Byte[] itemPostData = System.Text.Encoding.ASCII.GetBytes(itemPostBody); HttpWebRequest ItemRequest; ItemRequest = (HttpWebRequest)HttpWebRequest.Create(String.Format("{0}_api/web/lists/getByTitle('" + ListName + "')/items(" + ID + ")", ctx.Url)); ItemRequest.Method = "POST"; ItemRequest.ContentLength = itemPostBody.Length; ItemRequest.ContentType = "application/json;odata=verbose;charset=UTF-8"; ItemRequest.Accept = "application/json;odata=verbose"; ItemRequest.Headers.Add("Authorization", accessToken); ItemRequest.Headers.Add("X-HTTP-Method", "MERGE"); ItemRequest.Headers.Add("If-Match", "*"); using (Stream itemRequestStream = ItemRequest.GetRequestStream()) { itemRequestStream.Write(itemPostData, 0, itemPostData.Length); itemRequestStream.Close(); } using (HttpWebResponse itemResponse = (HttpWebResponse)ItemRequest.GetResponse()) { using (StreamReader responseReader = new StreamReader(itemResponse.GetResponseStream())) { //string response = responseReader.ReadToEnd(); //JObject jobj = JObject.Parse(response); //responseText = Convert.ToString(jobj["d"]["Id"]); responseText = "Update"; } } return(responseText); } catch (Exception ex) { throw new Exception(string.Format("An error occured while reading data. GUID: {0}", ex.ToString())); } }
/// <summary> /// Add items to list /// </summary> /// <param name="siteUrl"></param> /// <param name="errorLogPath"></param> /// <param name="accessToken"></param> /// <param name="ListUrl"></param> /// <param name="ListItemUrl"></param> /// <param name="itemPostBody"></param> /// <param name="xmlnspm"></param> /// <param name="formDigestNode"></param> /// <returns></returns> public static string AddListItems(string siteUrl, string errorLogPath, string accessToken, string listUrl, string listItemUrl, string itemPostBody, string userID) { try { XmlNamespaceManager xmlnspm = AddXmlNameSpaces(); var formDigestNode = GetFormDigest(siteUrl, accessToken, xmlnspm); //itemPostBody = itemPostBody.Remove(itemPostBody.LastIndexOf('}')); //itemPostBody = string.Concat(itemPostBody, ",'CreatedById':", userID, ",'ModifiedById':", userID, "}"); string FormDigest = formDigestNode.InnerXml; string EntityTypeName = GetEntityTypeName(siteUrl, listUrl, xmlnspm); itemPostBody = itemPostBody.Replace("{0}", EntityTypeName); Byte[] itemPostData = System.Text.Encoding.ASCII.GetBytes(itemPostBody); HttpWebRequest ItemRequest; ItemRequest = (HttpWebRequest)HttpWebRequest.Create(string.Concat(siteUrl, listItemUrl)); ItemRequest.Method = "POST"; ItemRequest.ContentLength = itemPostBody.Length; ItemRequest.ContentType = "application/json;odata=verbose"; ItemRequest.Accept = "application/json;odata=verbose"; ItemRequest.Headers.Add("Authorization", "Bearer " + accessToken); ItemRequest.Credentials = System.Net.CredentialCache.DefaultCredentials; //ItemRequest.Credentials = new NetworkCredential("pranali.tupe","eternus@123","Eternus"); ItemRequest.Headers.Add("X-RequestDigest", FormDigest); using (Stream itemRequestStream = ItemRequest.GetRequestStream()) { itemRequestStream.Write(itemPostData, 0, itemPostData.Length); //itemRequestStream.Close(); } HttpWebResponse itemResponse = (HttpWebResponse)ItemRequest.GetResponse(); return(null); } catch (Exception ex) { string guid = WriteException(ex, MethodBase.GetCurrentMethod().Name, MethodBase.GetCurrentMethod().DeclaringType.Name); throw new Exception(string.Format("An error occurred while reading data. GUID: {0}", guid)); } }