Microsoft Graph API SharePoint 文件搜索

Posted

技术标签:

【中文标题】Microsoft Graph API SharePoint 文件搜索【英文标题】:Microsoft Graph API SharePoint Files Search 【发布时间】:2018-08-31 07:24:41 【问题描述】:

我尝试在 SharePoint Document Library 上搜索文件(例如默认的“root”)。我通过上传或在线创建新的 Office 文件创建了一些测试文件,并提出了一些搜索请求,例如https://graph.microsoft.com/v1.0/sites/root/drive/root/search(q='query') 直到昨天一切正常。

现在我开始在SharePoint 上编辑文件或创建/上传新文件,并且使用此编辑或新文件,我遇到的问题是我在搜索它们时没有得到任何结果。 “旧”文件,我在开始时创建的,但我发现,只要我不编辑它们。

为了获得访问权限,我在 AAD 中注册了一个应用程序并为其提供了所需的权限(

Sites.Read.All, Sites.ReadWrite.All, Files.Read.All, Files.ReadWrite.All

使用https://graph.microsoft.com/v1.0/sites/root/drive/items/item-id/ 直接访问特定文件也很有效。

【问题讨论】:

【参考方案1】:

搜索将从索引数据中读取数据,但对库进行爬取和重新索引需要一些时间。所以你的代码为新文件返回 null:

https://graph.microsoft.com/v1.0/sites/root/drive/root/search(q='query')

以下代码直接获取库数据,而不是基于索引数据,所以效果很好。

https://graph.microsoft.com/v1.0/sites/root/drive/items/item-id/

【讨论】:

谢谢,但我的问题是我不知道item-id,所以我必须搜索该项目。同时我为我的问题找到了另一种解决方案,因为我知道文件的路径,所以我使用此代码https://graph.microsoft.com/v1.0/sites/root/drives/root:/file-path:/ 有没有办法触发或强制重新索引?

以上是关于Microsoft Graph API SharePoint 文件搜索的主要内容,如果未能解决你的问题,请参考以下文章

获取 Microsoft Graph API 的有效访问令牌

Microsoft Graph API SharePoint 文件搜索

如何使用 microsoft graph api 获取 EndRecurrenceDate

Microsoft Graph API - 列出用户登录的所有权限/范围

Microsoft Graph REST API 来更新 Microsoft Planner 任务?

Microsoft graph api预订-与onlinemeeting集成