2012-11-30 33 views
5

Tôi đang tạo Ứng dụng Sharepoint và tôi bị hạn chế sử dụng các điểm cuối Javascript (jQuery được bao gồm) và REST. Tôi muốn xóa một mục khỏi máy chủ bằng ứng dụng web nhưng tôi gặp lỗi (403: FORBIDDEN). Đây là mã tôi có cho đến nay:Cách xóa một mục bằng REST cho 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 
}); 

Bây giờ tôi phát hiện ra X-RequestDigest này là bắt buộc và tôi thấy một số cuộc gọi đến có được điều này từ REST:

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

Nhưng nó không làm việc ở tất cả các (điều này có thể là do mã này dành cho Sharepoint 2010) và nó sẽ tiếp tục cho tôi một thông báo 403: FORBIDDEN.

Có ai biết cách xóa mục danh sách khỏi một trong các danh sách bằng REST (Tôi không thể sử dụng/chỉnh sửa bất kỳ mã nào bên ngoài javascript!)?

Bất kỳ trợ giúp nào được đánh giá cao và nếu bạn cần bất kỳ thông tin nào, vui lòng hỏi.

+1

Bạn lấy đoạn mã từ đâu? Tôi đang cố gắng hiểu phần SP.AppContextSite (@target). – Christophe

+0

Đó là một cái gì đó tôi nhận được từ một hướng dẫn và đã làm việc trong quá khứ, đó không phải là vấn đề. – Manuel

Trả lời

4

Mã này không thể cho SharePoint 2010, như _api còn xa lạ với SP 2013.

[Cập nhật] Có lẽ bạn có nghĩa là mã của bạn đang làm việc tại SP 2013 xem trước? Trong SP2013 RTM bạn cần sử dụng:

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

Hmmm thực sự khắc phục sự cố ... Cảm ơn !! – Manuel

+0

Xin chào các bạn, tôi đã thử chính xác nhưng tôi vẫn nhận được thông báo '403: FORBIDDEN', từ phần 'X-RequestDigest'. Tôi nên làm gì đây? Hãy chia sẻ với tôi cách bạn giải quyết vấn đề này. Cảm ơn nhiều! –

+0

"X-RequestDigest": $ ("#__ REQUESTDIGEST"). Val() - Sử dụng trang tổng thể mặc định hơn – Vaibhav

Các vấn đề liên quan