首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用rest访问共享点中的特定团队站点

如何使用rest访问共享点中的特定团队站点
EN

Stack Overflow用户
提问于 2020-01-09 05:21:15
回答 1查看 597关注 0票数 0

目标:我正在尝试访问一个特定的团队站点,它使用REST在我的共享点帐户中创建,并在其中创建一个文件夹(Documents文件夹-默认位置)

实际结果:,我得到403个错误代码。下面是我得到的响应体。

代码语言:javascript
代码运行次数:0
运行
复制
{
    "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.

  • before

  • 首先在共享点和Azure

  • 中注册应用程序,获得调用共享点的承载令牌、共享点rest

  • 测试的get api,并且所有这些都作为header

  • following中的每个请求设置为

的请求头。

代码语言:javascript
代码运行次数:0
运行
复制
Content-Type : application/json;odata=verbose
X-RequestDigest : some random string
Accept : application/json;odata=verbose

下面是共享点REST,我使用POST方法创建了一个文件夹

代码语言:javascript
代码运行次数:0
运行
复制
https://***.sharepoint.com/sites/TeamSite_ForB/_api/web/folders

下面是我发送的请求正文

代码语言:javascript
代码运行次数:0
运行
复制
{ 
    "__metadata":{ 
        "type":"SP.Folder"
    },
    "ServerRelativeUrl":"/Shared Documents/buddhika-test-folder-03"
}

在共享点文档站点中,他们提供了API格式。我试过那种格式,但也没能得到结果。

以下是共享点文档中的内容.

若要访问特定站点,请使用以下构造:

代码语言:javascript
代码运行次数:0
运行
复制
http://server/site/_api/web

在这种情况下,我尝试了如下

代码语言:javascript
代码运行次数:0
运行
复制
https://***.sharepoint.com/TeamSite_ForB/_api/web/folders

我得到的响应是404没有找到没有响应消息。

我已经搜索了很多文档,但是找不到如何访问特定的团队站点。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-01-09 07:37:23

请求REST如下所示。

代码语言:javascript
代码运行次数:0
运行
复制
https://***.sharepoint.com/sites/TeamSite_ForB/_api/web/folders

请求体如下所示。

代码语言:javascript
代码运行次数:0
运行
复制
{ 
    "__metadata":{ 
        "type":"SP.Folder"
    },
    "ServerRelativeUrl":"Shared Documents/buddhika-test-folder-03"
}

示例代码

代码语言:javascript
代码运行次数:0
运行
复制
<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"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59657670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档