如何通过邮递员使用 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 调用中的服务不可用