簡體   English   中英

共享點剩余api GetFolderById返回System.IO.FileNotFoundException

[英]share point rest api GetFolderById returns System.IO.FileNotFoundException

我正在使用共享點rest api從共享點庫獲取文件和文件夾。 我有兩個庫(帶有GUID ),這是我正在使用的api端點:

/_api/web/GetFolderById('{$guid}')?\$expand=Folders,Files

api返回第一個庫的期望的所有文件夾和文件,帶有庫的guid ,但問題是第二個它返回此錯誤,即使我使用的是文件夾端點:

{
    "error": {
        "code": "-2147024894, System.IO.FileNotFoundException",
        "message": {
            "lang": "en-EN",
            "value": "File Not Found."
        }
    }
}

我還將getfolderbyserverrelativeurl端點與相對文件夾路徑一起使用。 該端點返回第一個文件夾的預期結果,但第二個返回此錯誤:

{
    "error": {
        "code": "-2147024891, System.UnauthorizedAccessException",
        "message": {
            "lang": "en-EN",
            "value": "Access denied. You do not have permission to perform this action or access this resource."
        }
    }
}

請注意,我可以使用相同的憑據( usernamepassword )查看網絡中的第二個文件夾。

所以這是我的問題:是否有另一種方法可以使用共享點rest api獲取所有文件和文件夾? 如果不是,我的方法有什么錯誤?

您可以使用此端點獲取庫內的所有子文件夾,然后找到文件夾唯一ID:

/ _api /網頁/列表/ GetByTitle( '文件')/ rootFolder /文件夾?$擴大= ListItemAllFields

在此處輸入圖片說明

像下面這樣在GetFolderById中使用此唯一ID,可在我這邊使用:

/ _api /網絡/ GetFolderById( '6a7de691-321a-41e9-8927-5594082d5a94')?$展開;文件夾,文件

網站集到api終結點的路由與主網站不同。 例如,如果要訪問網站集B文件夾A ,則必須使用此端點來獲取根文件夾GUID

http://sitename/sites/collection_name/_api/web/lists(guid'7EA06E82-C7C1-41FE-AF8B-C3341E928D6A')/rootFolder

然后將此端點​​與根文件夾GUID一起使用以獲取所有文件和文件夾:

http://sitename/sites/collection_name/_api/web/GetFolderById('26728694-ee8e-4618-a524-5ea6ba545384')?$expand=Folders/ListItemAllFields,Files/ListItemAllFields

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM