共享点休息 api GetFolderById returns System.IO.FileNotFoundException
share point rest api GetFolderById returns System.IO.FileNotFoundException
我正在使用共享点 rest api
从共享点库中获取文件和文件夹。我有两个库(带有 GUID
),这是我正在使用的 api 端点:
/_api/web/GetFolderById('{$guid}')?$expand=Folders,Files
api
returns 所有文件夹和文件都符合第一个库 guid
库的预期,但问题是第二个 returns 这个错误即使我使用的是文件夹端点:
{
"error": {
"code": "-2147024894, System.IO.FileNotFoundException",
"message": {
"lang": "en-EN",
"value": "File Not Found."
}
}
}
我还使用了具有相对文件夹路径的 getfolderbyserverrelativeurl
端点。此端点 returns 第一个文件夹的预期结果,但第二个文件夹的此错误:
{
"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."
}
}
}
请注意,我可以使用相同的凭据(username
和 password
)查看 Web 中的第二个文件夹。
所以这是我的问题:是否有另一种方法可以使用共享点 rest api
获取所有文件和文件夹?如果不是,我的方法有什么错误?
您可以使用此端点获取库中的所有子文件夹,然后找到文件夹唯一 ID:
/_api/web/Lists/GetByTitle('Documents')/rootFolder/Folders?$expand=ListItemAllFields
像下面这样在 GetFolderById 中使用这个唯一的 Id,在我这边有效:
/_api/web/GetFolderById('6a7de691-321a-41e9-8927-5594082d5a94')?$expand=文件夹,文件
网站集 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
我正在使用共享点 rest api
从共享点库中获取文件和文件夹。我有两个库(带有 GUID
),这是我正在使用的 api 端点:
/_api/web/GetFolderById('{$guid}')?$expand=Folders,Files
api
returns 所有文件夹和文件都符合第一个库 guid
库的预期,但问题是第二个 returns 这个错误即使我使用的是文件夹端点:
{
"error": {
"code": "-2147024894, System.IO.FileNotFoundException",
"message": {
"lang": "en-EN",
"value": "File Not Found."
}
}
}
我还使用了具有相对文件夹路径的 getfolderbyserverrelativeurl
端点。此端点 returns 第一个文件夹的预期结果,但第二个文件夹的此错误:
{
"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."
}
}
}
请注意,我可以使用相同的凭据(username
和 password
)查看 Web 中的第二个文件夹。
所以这是我的问题:是否有另一种方法可以使用共享点 rest api
获取所有文件和文件夹?如果不是,我的方法有什么错误?
您可以使用此端点获取库中的所有子文件夹,然后找到文件夹唯一 ID:
/_api/web/Lists/GetByTitle('Documents')/rootFolder/Folders?$expand=ListItemAllFields
像下面这样在 GetFolderById 中使用这个唯一的 Id,在我这边有效:
/_api/web/GetFolderById('6a7de691-321a-41e9-8927-5594082d5a94')?$expand=文件夹,文件
网站集 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