0

我正在使用以下调用在 SharePoint2019 上创建一个文件夹:

POST http://<site>/_api/web/folders

{
  "__metadata": {
    "type": "SP.Folder"
  },
  "ServerRelativeUrl": "/Shared Documents/Folder"
}

但我收到以下错误:

403 Forbidden: The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again.
4

1 回答 1

0

请检查您是否有有效的表格摘要值。

例如,如果站点 url 是http://sp/sites/dev/

然后对这个 url http://sp/sites/dev/_api/contextinfo做一个发布请求

在此处输入图像描述

然后在请求标头中使用此表单摘要值:

在此处输入图像描述

这是使用 Rest 创建文件夹的示例请求:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(function () {
bindButtonClick();
});
function bindButtonClick() {
$("#btnSubmit").on("click", function () {
createFolder();
});
}

function createFolder() {
var folderName = $("#txtFolderName").val();
var siteUrl = _spPageContextInfo.webAbsoluteUrl;
var fullUrl = siteUrl + "/_api/web/folders";
$.ajax({
url: fullUrl,
type: "POST",
data: JSON.stringify({
'__metadata': { 'type': 'SP.Folder' },
'ServerRelativeUrl': 'Shared Documents/' + folderName
}),
headers: {
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: onQuerySucceeded,
error: onQueryFailed
});
}

function onQuerySucceeded() {
$("#divResults").html("Folder created successfully !!!");
}

function onQueryFailed() {
alert('Error!');
}
</script>


<div>
<strong>Enter FolderName:</strong><br />
<input type="text" id="txtFolderName" /><br />
<input type="button" id="btnSubmit" value="Create Folder" />
</div>
<div id="divResults"></div>

参考:

SharePoint 2013 REST API 中的授权问题的一些帮助

于 2020-04-08T06:24:14.423 回答