0
我需要通過REST Api更新或在Sharepoint列表中創建新對象。我創建新項目或編輯現有項目的REST呼叫正在返回狀態403:FORBIDDEN並且我不明白爲什麼。用戶具有編輯和讀取列表所需的全部訪問權限。我如何繼續並獲得這些REST呼叫?Sharepoint REST API調用狀態403 FORBIDDEN
//update current item
$.ajax({
url: "/sitename/_api/web/Lists/getbytitle('metricList')/items(" + results[i].Id + ")",
type: "POST",
data: JSON.stringify({
'__metadata': {
'type': 'SP.Data.iconMetricsListItem'
},
'numClicks': temp
}),
headers: {
"IF-MATCH": "*",
"X-HTTP-Method":"MERGE",
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
});
//create new item
$.ajax({
url:"/sitename/_api/web/Lists/getbytitle('metricList')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(item),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
},
error: function (data) {
}
});
這是否與sharepoint在同一臺服務器上運行?如果不是,它被認爲是跨域的,你需要確保它是相應的設置。有時候就像添加'callback =?'一樣簡單到URL中。 – 2014-09-30 21:27:02
此功能將由擁有適當權限的用戶通過Sharepoint頁面觸發。這是否需要跨域呼叫?我之前從未使用過跨域調用,但是之前我只用REST讀過,從未寫過 – cm2 2014-10-02 16:58:13
根據您的評論,它不應該跨域。你的代碼看起來對我來說是正確的,所以我不確定發生了什麼。這是幾乎一字不差的我用過的沒有問題。 – 2014-10-02 18:01:11