Hi,
i am trying to delete a list ítem from a SharePoint App which uses a REST api call.
Below is the code
String SPuriDelete = "sitename/_api/Web/Lists(guid'b13d0a9a-24cc-46e2-9dd2-69ab144fac60')/items(7)"; HttpWebRequest DeleteRequest = (HttpWebRequest)HttpWebRequest.Create(new Uri(uri, SPuriDelete)); DeleteRequest.Method = "POST"; DeleteRequest.Accept = accept; DeleteRequest.ContentLength = 0; DeleteRequest.ContentType = "application/json; odata=verbose"; DeleteRequest.Headers["X-FORMS_BASED_AUTH_ACCEPTED"] = "f"; DeleteRequest.Headers["X-RequestDigest"] = formDigest; DeleteRequest.Headers["X-HTTP-Method"] = "DELETE"; DeleteRequest.Headers["X-IF-MATCH"] = "*"; DeleteRequest.Headers["X-IF-NONE-MATCH"] = "*"; DeleteRequest.Headers["If-Unmodified-Since"] = "*"; DeleteRequest.Credentials = creds; string contextTokenString = TokenHelper.GetContextTokenFromRequest(Request); var contextToken = TokenHelper.ReadAndValidateContextToken(contextTokenString, Request.Url.Authority); var accessToken = TokenHelper.GetAccessToken(contextToken, spContext.SPHostUrl.Authority).AccessToken; DeleteRequest.Headers["Cookie"] = spContext.UserAccessTokenForSPHost; DeleteRequest.Headers["Authorization"] = "Bearer " + accessToken; HttpWebResponse DeleteResponse = (HttpWebResponse)DeleteRequest.GetResponse();
The problem is that I am getting the following message from the server: 412 Precondition failed
Some idea?
For example if I delete the header x-http-method I dont receive the 412 message but the ítem it is not deleted.
On the other hand, If I use the fiddler agent, I dont need so many entry headers and the ítem is well deleted.
I dont know where is wrong.