【问题标题】:What is REST API end point for deleting specific version of a SharePoint Document什么是用于删除特定版本的 SharePoint 文档的 REST API 端点
【发布时间】:2021-07-06 04:13:00
【问题描述】:

我正在尝试按 ID 删除特定版本的 SharePoint 文档。 我已经使用以下代码通过 REST 调用检索了所有 SharePoint 文档版本。

      let URL : string = `${this.context.pageContext.web.absoluteUrl}/_api/Web/lists/getById('${listId}')/items(${documentId.Id})/versions`;
      this.context.spHttpClient.get(URL,SPHttpClient.configurations.v1).then(response=>{    
        return response.json();
      }).then(json=>{
        return json.value;
      })

我应该调用哪个端点来通过版本 ID 删除特定版本?

【问题讨论】:

    标签: sharepoint-online rest spfx


    【解决方案1】:

    删除文件特定版本的端点如下:

    https://Tenant.sharepoint.com/sites/SiteName/_api/web/GetFileByServerRelativeUrl('/sites/SiteName/DocName/code.png')/versions/DeleteByLabel('1.0')
    

    需要使用GetFileByServerRelativeUrl获取文件对象,然后使用DeleteByLabel删除具体版本,这里有完整的代码demo供大家参考:

    function DeleteFileVersionByVersionLabel() {
     
        var WebServerRelativeUrl = _spPageContextInfo.webServerRelativeUrl;
     
        // Provide Internal name of the library here
        var DocuentLibraryInternalName = "Document%20Library";
     
        // Provide name of the document
        var DocumentName = "test doc.docx";
     
        var ServerRelativeUrlofFile = _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFileByServerRelativeUrl('" + WebServerRelativeUrl + "/" + DocuentLibraryInternalName + "/" + DocumentName + "')"
     
        $.ajax
            ({
                // _spPageContextInfo.webAbsoluteUrl - will give absolute URL of the site where you are running the code.
                // You can replace this with other site URL where you want to apply the function
     
                // NOTE: Version Label is nothing but the version number you see in the Version History
                url: ServerRelativeUrlofFile + "/versions/DeleteByLabel('4.5')",
                type: "POST",
                headers:
            {
                // Accept header: Specifies the format for response data from the server.
                "Accept": "application/json;odata=verbose",
                //Content-Type header: Specifies the format of the data that the client is sending to the server
                "Content-Type": "application/json;odata=verbose",
                // IF-MATCH header: Provides a way to verify that the object being changed has not been changed since it was last retrieved.
                // "IF-MATCH":"*", will overwrite any modification in the object, since it was last retrieved.
                "IF-MATCH": "*",
                //X-HTTP-Method:  The MERGE method updates only the properties of the entity , while the PUT method replaces the existing entity with a new one that you supply in the body of the POST
                "X-HTTP-Method": "DELETE",
                // X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },
                success: function (data, status, xhr) {
                    console.log("Success");
                },
                error: function (xhr, status, error) {
                    console.log("Failed");
                }
            });
    }
    

    参考:

    Delete File Version By Version Label in SharePoint using REST API

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 2016-01-25
      相关资源
      最近更新 更多