I'm trying to check out file which is located inside document library under sub site.

Site URL : mymainsite/subsite/subsite/My Library/test.xlsx

I'm using below PowerShell script

function CheckOutFile($filePath) {
    Write-Host "CheckOut file is in process"


    $response = PostRequest ("/_api/web/getFileByServerRelativeUrl('/My Library/test.xlsx')/CheckOut()") (ConvertTo-Json @{ 
        __metadata = @{ type= "SPFile" }
        ServerRelativeUrl = "/My Library/test.xlsx"
    })
}

Note: If I'm trying to checkout in root site library then it is working fine when I'm referring to subsite library it showing below error.

enter image description here

What I'm doing wrong here :(

有帮助吗?

解决方案

To refer library under subsite we need to specify relative url two times like below:

function CheckOutFile($filePath) {
    Write-Host "CheckOut file is in process"


    $response = PostRequest ("/_api/web/getFileByServerRelativeUrl('/subsite/subsite/My Library/test.xlsx')/CheckOut()") (ConvertTo-Json @{ 
        __metadata = @{ type= "SPFile" }
        ServerRelativeUrl = "/My Library/test.xlsx"
    })
}
许可以下: CC-BY-SA归因
scroll top