目标:我正在尝试访问一个特定的团队站点,它使用REST在我的共享点帐户中创建,并在其中创建一个文件夹(Documents文件夹-默认位置)
实际结果:,我得到403个错误代码。下面是我得到的响应体。
{
"error": {
"code": "-2147024891, System.UnauthorizedAccessException",
"message": {
"lang": "en-US",
"value": "Access denied. You do not have permission to perform this action or access this resource."
}
}
}
预期结果:应创建指定的文件夹,响应代码应为201或200
我尝试过的:
expected.
的请求头。
Content-Type : application/json;odata=verbose
X-RequestDigest : some random string
Accept : application/json;odata=verbose
下面是共享点REST,我使用POST方法创建了一个文件夹
https://***.sharepoint.com/sites/TeamSite_ForB/_api/web/folders
下面是我发送的请求正文
{
"__metadata":{
"type":"SP.Folder"
},
"ServerRelativeUrl":"/Shared Documents/buddhika-test-folder-03"
}
在共享点文档站点中,他们提供了API格式。我试过那种格式,但也没能得到结果。
以下是共享点文档中的内容.
若要访问特定站点,请使用以下构造:
http://server/site/_api/web
在这种情况下,我尝试了如下
https://***.sharepoint.com/TeamSite_ForB/_api/web/folders
我得到的响应是404没有找到没有响应消息。
我已经搜索了很多文档,但是找不到如何访问特定的团队站点。任何帮助都将不胜感激。
发布于 2020-01-08 23:37:23
请求REST如下所示。
https://***.sharepoint.com/sites/TeamSite_ForB/_api/web/folders
请求体如下所示。
{
"__metadata":{
"type":"SP.Folder"
},
"ServerRelativeUrl":"Shared Documents/buddhika-test-folder-03"
}
示例代码
<script src="//code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getFormDigest() {
return $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/contextinfo",
method: "POST",
headers: { "Accept": "application/json; odata=verbose" }
});
}
function createFolderTest() {
var documentLibraryName = "Shared Documents";
var folderName="buddhika-test-folder-03";
if(folderName!=""){
createfolder(documentLibraryName,folderName).done(function (data) {
console.log('Folder creted succesfully');
}).fail(function (error) {
console.log(JSON.stringify(error));
});
}
return true;
}
function createfolder(documentLibraryName,folderName){
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/folders";
return getFormDigest().then(function (data) {
return $.ajax({
url: requestUri,
type: "POST",
contentType: "application/json;odata=verbose",
data:JSON.stringify({'__metadata': { 'type': 'SP.Folder' }, 'ServerRelativeUrl': documentLibraryName+'/'+folderName}),
headers: {
"accept":"application/json;odata=verbose",
"X-RequestDigest":data.d.GetContextWebInformation.FormDigestValue
}
});
});
}
</script>
<input type="button" onclick="createFolderTest()" value="Create Folder"/>
https://stackoverflow.com/questions/59657670
复制相似问题