我正在尝试在 Sharepoint Online 的某个文件夹(可能位于子文件夹内)中查找。
我正在使用 MSFT Graph API,发现它适用于很多情况。 我只知道文件的名称和可能的“根”文件夹名称。
我的要求是这样的:
{
"requests": [
{
"entityTypes": [
"driveItem",
"listItem"
],
"query": {
"queryString": "filename:\"foto 3.jpg\" AND path:https://mysharepoint.sharepoint.com/teams/MySite/Shared%20Documents/MyRootFolder/*",
"contentSources": [
"siteId:mysharepoint.sharepoint.com,<a guid>,<another guid>"
]
}
}
]
}
我将此作为帖子发送至: https://graph.microsoft.com/v1.0/search/query
不要认为问题是权限,因为我找到一些文件没有问题。
在我已经尝试过的查询字符串上:
在某些情况下我要么得到错误的文件,要么根本没有文件。如果我不加双引号,在响应中我会看到带有 2 个值的“searchTerms”:“foto”和“3.jpg”。
我知道该文件存在于我在路径中显示的文件夹下,因为我转到共享点并可以在那里看到它。
我无法更改文件名。
考虑到@user2250152的注释,这就是我设法做到的。
{
"requests": [
{
"entityTypes": [
"driveItem", "listItem"
],
"query": {
"queryString": "filename=\"{fileName}\"",
"queryTemplate": "{searchTerms} (path:\"https://siemens.sharepoint.com/teams/{SourceSiteName}/Shared%20Documents/{SourceFolderName}\" OR ParentLink:\"https://siemens.sharepoint.com/teams/{SourceSiteName}/Shared Documents/{SourceFolderName}*\")"
},
\"fields\": [
\"name\",
\"id\",
\"size\"
]
}
]
}
注意:我的部分问题是由于 Sharepoint 的索引造成的。