MSFT Graph API 搜索:无法按名称查找 Sharepoint 文件夹中存在空格的文件

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

我正在尝试在 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”。

我知道该文件存在于我在路径中显示的文件夹下,因为我转到共享点并可以在那里看到它。

我无法更改文件名。

microsoft-graph-api sharepoint-online
1个回答
0
投票

考虑到@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 的索引造成的。

© www.soinside.com 2019 - 2024. All rights reserved.