📜  SharePoint-REST API(1)

📅  最后修改于: 2023-12-03 15:20:07.494000             🧑  作者: Mango

SharePoint-REST API介绍

SharePoint-REST API是一种基于RESTful架构的API,用于与SharePoint平台交互。通过使用REST API,程序员能够通过HTTP协议与SharePoint交互,执行各种操作。本文将介绍SharePoint-REST API的使用方法、常用API和示例代码。

使用方法

使用SharePoint-REST API的第一步是获得访问SharePoint的权限,可以使用OAuth认证或者基本身份验证(Basic Authentication)。OAuth认证是一种广泛使用的认证授权技术,既安全又灵活,比基本身份验证更为优秀。接着,需要使用HTTP请求访问SharePoint-REST API的Endpoint,Endpoint是一个资源的网络地址,可以使用GET、POST、PUT、DELETE等HTTP请求方法来执行各种操作。

常用API

以下是一些常用的SharePoint-REST API:

获取列表

使用GET请求和Endpoint/_api/web/lists/getbytitle('ListName')来获取列表的信息,ListName是列表的名称,如:

$.ajax({
     url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('MyList')",
     type: "GET",
     headers: {
         "accept": "application/json;odata=verbose",
         "content-type": "application/json;odata=verbose",
         "X-RequestDigest": $("#__REQUESTDIGEST").val()
     },
     success: function (data) {
         console.log(data);
     },
     error: function (error) {
         console.log(error);
     }
 });
创建列表项

使用POST请求和Endpoint/_api/web/lists/getbytitle('ListName')/items来创建列表项,ListName是列表的名称,如:

$.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('MyList')/items",
    type: "POST",
    data: JSON.stringify({
        "__metadata": {
            "type": "SP.Data.MyListListItem"
        },
        "Title": "New Item"
    }),
    headers: {
        "accept": "application/json;odata=verbose",
        "content-type": "application/json;odata=verbose",
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    },
    success: function (data) {
        console.log(data);
    },
    error: function (error) {
        console.log(error);
    }
});
更新列表项

使用POST请求和Endpoint/_api/web/lists/getbytitle('ListName')/items(ItemId)来更新列表项,ListName是列表的名称,ItemId是列表项的ID,如:

$.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('MyList')/items(1)",
    type: "POST",
    data: JSON.stringify({
        "__metadata": {
            "type": "SP.Data.MyListListItem"
        },
        "Title": "Updated Item"
    }),
    headers: {
        "accept": "application/json;odata=verbose",
        "content-type": "application/json;odata=verbose",
        "X-RequestDigest": $("#__REQUESTDIGEST").val(),
        "X-HTTP-METHOD": "MERGE",
        "IF-MATCH": "*"
    },
    success: function (data) {
        console.log(data);
    },
    error: function (error) {
        console.log(error);
    }
});
删除列表项

使用POST请求和Endpoint/_api/web/lists/getbytitle('ListName')/items(ItemId)来删除列表项,ListName是列表的名称,ItemId是列表项的ID,如:

$.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('MyList')/items(1)",
    type: "POST",
    headers: {
        "X-HTTP-METHOD": "DELETE",
        "IF-MATCH": "*",
        "content-type": "application/json;odata=verbose",
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    },
    success: function (data) {
        console.log(data);
    },
    error: function (error) {
        console.log(error);
    }
});
实例

以下是一个使用SharePoint-REST API获取列表信息的示例:

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$(function() {
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('MyList')/items",
        type: "GET",
        headers: {
            "accept": "application/json;odata=verbose",
            "content-type": "application/json;odata=verbose"
        },
        success: function(data) {
            var items = data.d.results;
            $.each(items, function(index, item) {
                console.log(item.Title);
            });
        },
        error: function(error) {
            console.log(error);
        }
    });
});
</script>

在此示例中,我们使用GET请求和Endpoint/_api/web/lists/getbytitle('MyList')/items来获取MyList列表的信息,并遍历返回的结果。

结论

通过SharePoint-REST API,程序员能够轻松地与SharePoint平台交互,执行各种操作,如创建、更新、删除列表项等。上述介绍和示例代码能够让程序员更好地理解SharePoint-REST API的使用,我们希望这篇文章对您有所帮助。