【问题标题】:share point rest api GetFolderById returns System.IO.FileNotFoundExceptionsharepoint rest api GetFolderById 返回 System.IO.FileNotFoundException
【发布时间】:2019-08-25 14:51:39
【问题描述】:

我正在使用共享点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)查看网络中的第二个文件夹。

所以这是我的问题:还有其他方法可以使用共享点休息api 获取所有文件和文件夹吗?如果不是,我的方法有什么错误?

【问题讨论】:

  • 可能是,第二个文件夹中有多个文件,您无权查看,这是否导致问题而不是文件夹本身?如果只展开文件夹而不展开文件会发生什么?
  • @Marco 相同的结果(使用 GetFolderById 找不到文件,使用 getfolderbyserverrelativeurl 拒绝访问)

标签: rest api sharepoint sharepoint-2013 office365api


【解决方案1】:

您可以使用此端点获取库中的所有子文件夹,然后找到文件夹唯一 ID:

/_api/web/Lists/GetByTitle('Documents')/rootFolder/Folders?$expand=ListItemAllFields

在 GetFolderById 中使用这个唯一的 ID,如下所示,在我身边有效:

/_api/web/GetFolderById('6a7de691-321a-41e9-8927-5594082d5a94')?$expand=文件夹,文件

【讨论】:

  • "站点不存在列表'/regulation'"
  • 资源不是列表而是库
  • @MehrdadEP,没问题,Lists/GetByTitle 可以同时获取列表和库,请确保库名在目标站点中有效。
【解决方案2】:

网站集到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

【讨论】:

    猜你喜欢
    • 2022-06-22
    • 2021-10-18
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 2017-11-15
    • 2020-01-27
    • 2020-02-07
    相关资源
    最近更新 更多