2012-11-30 26 views
5

Bir Sharepoint Uygulamasını oluşturuyorsam ve ben Javascript kullanarak sınırlı (jQuery dahil) ve son noktalarını de REST am için DİNLENME kullanarak bir öğeyi silmek için. Web uygulamasını kullanarak ana bilgisayardaki bir öğeyi silmek istiyorum ancak bir hata alıyorum (403: FORBIDDEN). nasıl 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 
}); 

Şimdi öğrendim bu X-RequestDigest zorunludur ve ben REST bu almak için bazı çağrı bulundu:

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

Ama hiç çalışmıyor Bu şimdiye kadar elde ettiğiniz kodudur (Bu kod, Sharepoint 2010 için olduğu için olabilir) ve bana 403: FORBIDDEN mesajını vermeye devam edecektir.

kimse (ben javascript dışında/düzenlemek herhangi bir kod kullanamazsınız!) DİNLENME kullanarak listelerden birinden bir liste öğesini silmek için nasıl biliyor mu?

Herhangi bir yardım

appriciated ve herhangi bir bilgi gerekiyorsa sormaya çekinmeyin. _api SP yenidir olarak

+1

Pasajı nereden aldınız? SP.AppContextSite (@target) bölümünü anlamaya çalışıyorum. – Christophe

+0

Bu bir öğreticiden aldığım ve geçmişte çalıştığım bir şey, sorun değil. – Manuel

cevap

4

kodu, SharePoint 2010 için olamaz 2013

[Güncelleme] Belki de kod SP 2013 önizleme çalışıyordu anlamına? SP2013 RTM'de kullanmanız gerekir:

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

Hmmm, aslında sorunu çözdü ... Teşekkürler! – Manuel

+0

Merhaba arkadaşlar, ben tam olarak denedim ama hala 'X-RequestDigest' bölümünden 403: FORBIDDEN 'mesajını alıyorum. Ne yapmalıyım lütfen? Lütfen bunu nasıl çözdüğünüzü paylaş. Çok teşekkürler! –

+0

"X-RequestDigest": $ ("# REQUESTDIGEST"). Val() - Sharepoint varsayılan ana sayfasını kullan – Vaibhav

İlgili konular