图形睡觉接口-在驱动器项目内部搜索不适用于非主流文件扩展名 [英] Graph REST API - Search inside DriveItem not working for non-mainstream file extensions
问题描述
我一直在尝试在特定的DriveItem文件夹中搜索,但遇到了一些问题。首先,尽管API声明";您可以在文件夹层次结构、整个驱动器或与当前用户共享的文件中进行搜索。&但我没有找到任何支持此功能的文档。我找到了描述如何做的this stackoverflow reply。不幸的是,它不会工作得很好。
由于我不知道ID有多敏感,我将在我的示例中对它们进行密文处理。
https://graph.microsoft.com/v1.0/me/drive/items/<id_parent_folder>/children?select=name
此请求返回我要搜索的文件夹中的所有文件,并且它确实列出了该文件夹中的所有内容。响应类似于:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('<id_user>')/drive/items('<id_parent_folder>')/children(name)",
"value": [
{
"@odata.etag": ""{redacted1},1"",
"name": "automation_csv.csv"
},
{
"@odata.etag": ""{redacted2},1"",
"name": "HOSPITAIS_PT.cpg"
},
{
"@odata.etag": ""{redacted3},1"",
"name": "HOSPITAIS_PT.dbf"
},
{
"@odata.etag": ""{redacted4},1"",
"name": "HOSPITAIS_PT.prj"
},
{
"@odata.etag": ""{redacted5},1"",
"name": "HOSPITAIS_PT.qpj"
},
{
"@odata.etag": ""{redacted6},1"",
"name": "HOSPITAIS_PT.shp"
},
{
"@odata.etag": ""{redacted7},1"",
"name": "HOSPITAIS_PT.shx"
}
]
}
但是,在文件夹内搜索时,我只能得到CSV文件.
https://graph.microsoft.com/v1.0/me/drive/items/<id_parent_folder>/search(q='')?select=name
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)",
"value": [
{
"@odata.type": "#microsoft.graph.driveItem",
"name": "<name_parent_folder>"
},
{
"@odata.type": "#microsoft.graph.driveItem",
"name": "automation_csv.csv"
}
]
}
搜索任何其他文件名都没有结果。
这是错误还是功能?是否有其他终结点允许我搜索文件夹内的所有文件?
编辑:将";beta";端点更改为";v1.0";,尽管它们产生的结果相同。我只是不想假设它只发生在测试版终结点。
推荐答案
使用Microsoft query API进行搜索,而不是使用q搜索参数。 请参见https://docs.microsoft.com/en-us/graph/api/resources/search-api-overview?view=graph-rest-beta
这篇关于图形睡觉接口-在驱动器项目内部搜索不适用于非主流文件扩展名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!