SharePoint Graph APIendWith 不起作用

问题描述 投票:0回答:1

需要使用图形 API 搜索 SharePoint 中的文件名 EndsWith 不起作用,如何使用图形 API 搜索文件名包含或结尾?

成功:输出响应将仅列出以“Test”开头的文件:

https://graph.microsoft.com/v1.0/sites/siteId/drive/root:/directoryName1/directoryName2:/children?$filter=startsWith(name, 'Test')

成功:收到的输出响应为 404 未找到

https://graph.microsoft.com/v1.0/sites/siteId/drive/root:/directoryName1/directoryName2:/children?$filter=endsWith(name, 'Test')

输出响应:

{
    "error": {
        "code": "itemNotFound",
        "message": "Item not found",
        "innerError": {
            "date": "2023-xxxxx",
            "request-id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "client-request-id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        }
    }
}

错误结果:未找到项目

https://graph.microsoft.com/v1.0/sites/siteId/drive/root:/directoryName1/directoryName2:/children?$filter=endsWith(name, 'Data.xlsx')

回复:

{ “错误”: { “代码”:“未找到项目”, "message": "未找到项目", “内部错误”:{ “日期”:“2023-xxxxx”, "请求 ID": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", “客户端请求 ID”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” } } }

输出响应将包含目录中的所有文件

https://graph.microsoft.com/v1.0/sites/siteId/drive/root:/directoryName1/directoryName2:/children?search(q='Data')

输出响应将包含目录中的所有文件

https://graph.microsoft.com/v1.0/sites/siteId/drive/root:/directoryName1/directoryName2:/children

目录视图:

TestData.xlsx
SampleWorkbook.xlsx
...
...
...
sharepoint microsoft-graph-api
1个回答
0
投票

是的,儿童端点不支持

$filter
endsWith
。根据 本文
/search
端点将不再收到任何更新或增强功能。

目前最好的替代方案似乎是 Microsoft Search API

我可以举几个例子。

在特定 SharePoint 网站和共享文档的特定子文件夹中搜索文件名中包含术语

Test
的文件

POST https://graph.microsoft.com/v1.0/search/query
{
    "requests": [
        {
            "entityTypes": [
                "driveItem"
            ],
            "query": {
                "queryString": "filename:Test AND path:\"https://tenant.sharepoint.com/sites/{site_name}/Shared documents/directoryName1/directoryName2\""
            }
        }
    ]
}

搜索以

Test

开头的文件
"queryString": "filename:Test* AND path:\"https://tenant.sharepoint.com/sites/{site_name}/Shared documents/directoryName1/directoryName2\""

搜索以

.xlsx
 开头的 
Test

文件
"queryString": "filename:Test*.xlsx AND path:\"https://tenant.sharepoint.com/sites/{site_name}/Shared documents/directoryName1/directoryName2\""

搜索具有确切名称的文件

Data.xlsx

"queryString": "filename=Data.xlsx AND path:\"https://tenant.sharepoint.com/sites/{site_name}/Shared documents/directoryName1/directoryName2\""
© www.soinside.com 2019 - 2024. All rights reserved.