2012-11-30 15 views
5

Tworzę aplikację Sharepoint i jestem ograniczony do korzystania z JavaScript (jQuery w zestawie) i punktów końcowych REST. Chciałbym usunąć element z hosta za pomocą aplikacji internetowej, ale pojawia się błąd (403: FORBIDDEN). Jest to kod mam tak daleko:Jak usunąć element przy użyciu usługi REST dla programu Sharepoint 2013

executor = new SP.RequestExecutor(appweburl); 
executor.executeAsync({ 
    url: appweburl + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('" + currentListTitle + "')/items(" + result.Id + ")/[email protected]='" + hostweburl + "'", 
    method: "POST", 
    headers: { 
       "accept": "application/json", 
       "X-RequestDigest": ????? 
       "IF-MATCH": "*", 
       "X-HTTP-Method": "DELETE" 
      }, 
    success: onDeleteItemSuccess, 
    error: onDeleteItemFail 
}); 

Teraz się dowiedziałem to X-RequestDigest jest obowiązkowe i znalazłem jakieś wezwanie, aby dostać to od pleców:

$.ajax({ 
    url: appweburl + "/_api/SP.AppContextSite(@target)/contextinfo/[email protected]='" + hostweburl + "'", 
    type: "POST", 
    contentType: "application/x-www-url-encoded", 
    dataType: "json", 
    success: function (data) { 
     if (data.d) 
     { 
      digestValue = data.d.GetContextWebInformation.FormDigestValue; 
      alert(digestValue); 
     } 
    }, 
    error: function (xhr) { 
     alert(xhr.status + ': ' + xhr.statusText); 
    } 
}); 

Ale to nie działa w ogóle (może to wynikać z tego, że ten kod był dla Sharepoint 2010) i nadal będzie dostarczał mi wiadomość o adresie 403: FORBIDDEN.

Czy ktoś wie, jak usunąć element listy z jednej z list przy użyciu usługi REST (nie mogę używać/edytować żadnego kodu poza javascript!)?

Każda pomoc jest aprobowana i jeśli potrzebujesz informacji, nie wahaj się zapytać.

+1

Skąd wziął się fragment kodu? Próbuję zrozumieć część SP.AppContextSite (@target). – Christophe

+0

To jest coś, co otrzymałem z samouczka i działałem w przeszłości, to nie jest problem. – Manuel

Odpowiedz

4

Kod nie może być dla SharePoint 2010, jak _api jest nowy SP 2013.

[Aktualizacja] Może oznaczać, że kod działa w SP 2013 podglądu? W systemie SP2013 RTM należy użyć:

"Accept": "application/json; odata=verbose" 
+0

Hmmm, który naprawił problem ... Dzięki! – Manuel

+0

Witajcie, próbowałem dokładnie tego, ale wciąż otrzymuję komunikat '403: FORBIDDEN', od otrzymania części' X-RequestDigest'. Co powinienem zrobić? Proszę, podziel się mną, jak to rozwiązałeś. Dzięki wielkie! –

+0

"X-RequestDigest": $ ("#__ REQUESTDIGEST"). Val() - Użyj domyślnej strony wzorcowej sharepoint – Vaibhav