Quantcast
Viewing all articles
Browse latest Browse all 10096

Delete list item from REST API message 412 precondition failed

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.




Viewing all articles
Browse latest Browse all 10096

Trending Articles