2012-11-30 12 views
5

Ich erstelle eine Sharepoint App und bin auf die Verwendung von Javascript (jQuery eingeschlossen) und REST-Endpunkten beschränkt. Ich möchte einen Eintrag vom Host mithilfe der Web-App löschen, erhalte jedoch einen Fehler (403: FORBIDDEN). Dies ist der Code ich habe bisher:So löschen Sie einen Artikel mit REST für 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 
}); 

Nun fand ich heraus, diese X-RequestDigest ist obligatorisch und ich fand diese von REST etwas Anruf zu bekommen:

$.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); 
    } 
}); 

Aber es funktioniert nicht bei allen (Dies könnte daran liegen, dass dieser Code für Sharepoint 2010 verwendet wurde) und er wird mir weiterhin eine 403: FORBIDDEN Nachricht geben.

Kann jemand ein Listenelement aus einer der Listen mit REST löschen (ich kann keinen Code außerhalb des Javascript verwenden/bearbeiten)?

Jede Hilfe ist geschätzt und wenn Sie irgendwelche Informationen benötigen, zögern Sie bitte nicht zu fragen.

+1

Woher haben Sie das Snippet? Ich versuche den SP.AppContextSite (@target) Teil zu verstehen. – Christophe

+0

Das ist etwas, das ich von einem Tutorial bekommen habe und in der Vergangenheit gearbeitet hat, das ist nicht das Problem. – Manuel

Antwort

4

Der Code kann nicht für Sharepoint 2010, wie _api SP neu ist 2013

[Update] Vielleicht meinen Sie, dass Ihr Code wurde in SP 2013 Vorschau zu arbeiten? In SP2013 RTM müssen Sie Folgendes verwenden:

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

Hmmm, dass das Problem tatsächlich behoben ... Danke !! – Manuel

+0

Hallo Leute, ich habe die genaue Sache ausprobiert, aber ich bekomme immer noch die '403: FORBIDDEN' Nachricht, nachdem ich den' X-RequestDigest' Teil bekommen habe. Was soll ich tun? Bitte teilen Sie mir mit, wie Sie das gelöst bekommen. Vielen Dank! –

+0

"X-RequestDigest": $ ("#__ REQUESTDIGEST"). Val() - Verwenden Sie die Sharepoint-Standard-Masterpage – Vaibhav

Verwandte Themen