如何使用MS Graph API在指定SharePoint站点内执行搜索操作
你可以通过在Graph Search API的搜索参数中增加路径过滤规则实现指定站点搜索,无需受默认全局/根站点搜索范围限制。
前提准备
首先确保你已经申请了搜索所需的对应权限,常用权限包括Sites.Read.All、Files.Read.All,可根据你的搜索内容类型选择委派权限或应用权限。
操作步骤
1. 调用接口地址
使用POST方法请求以下接口:POST https://graph.microsoft.com/v1.0/search/query
请求头需携带两个必填参数:
Authorization: Bearer <你的合法访问令牌>Content-Type: application/json
2. 构造限定站点的请求体
你可以直接在搜索关键词后添加path规则限定搜索范围,以目标站点https://contoso.sharepoint.com/sites/shipment为例,参考请求体如下:
{ "requests": [ { "entityTypes": ["driveItem", "listItem"], "query": { "queryString": "你的搜索关键词 path:\"https://contoso.sharepoint.com/sites/shipment\"" }, "size": 100 } ] }
参数说明:
entityTypes:指定你要搜索的内容类型,示例中为搜索站点内的文档和列表项,你可以根据需求调整为list、site等其他类型queryString:path参数后填写目标站点的完整地址,用双引号包裹即可强制仅返回该站点下的匹配内容size:指定单次返回的结果数量,最大支持500,可搭配from参数实现结果分页
补充说明
- 如果需要缩小范围到站点下的某个子文件夹/文档库,只需将
path参数的内容替换为对应目录的完整访问路径即可 - 搜索结果仅返回当前身份有权限访问的内容,使用应用权限时会返回站点内所有符合条件的内容
内容的提问来源于stack exchange,提问作者Just J
相关产品推荐
相关产品推荐

