如何通过邮递员使用 REST 调用在 SharePoint 2019 上创建文件夹?得到 403:禁止错误

Posted

技术标签:

【中文标题】如何通过邮递员使用 REST 调用在 SharePoint 2019 上创建文件夹?得到 403:禁止错误【英文标题】:How to create folders on SharePoint 2019 using REST calls via postman? Getting 403: Forbidden error 【发布时间】:2020-07-19 09:55:48 【问题描述】:

我正在使用以下调用在 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.

【问题讨论】:

您是否有足够的权限来创建文件夹?您在标头中发送的访问令牌会告诉 sharepoint 您的应用拥有哪些权限。 是的,我拥有我正在使用的网站的所有权限。 【参考方案1】:

请检查您身边是否有有效的表单摘要值。

例如,如果网站网址是http://sp/sites/dev/

然后对这个 url http://sp/sites/dev/_api/contextinfo 发出 Post 请求

然后在Request Header中使用这个表单摘要值:

这是使用 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>

参考:

Some Help for Authorization Problems in SharePoint 2013 REST API

【讨论】:

以上是关于如何通过邮递员使用 REST 调用在 SharePoint 2019 上创建文件夹?得到 403:禁止错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django REST 框架可浏览 API 中发送标头

如何在Spring启动应用程序中进行REST调用而不在Spring安全性中禁用CSRF保护?

来自 wordpress 的 REST API 调用中的服务不可用

WCF Rest API:如何使用邮递员发送字典

如何使用邮递员测试 Django REST 框架登录保护 API?

如何测试使用邮递员提供 .zip 文件的 REST API?