microsoft-graph-api - Microsoft Graph Sharepoint 搜索结果不一致
问题描述
我正在尝试在我们的应用程序中实现一项功能,以允许用户在他们的 Sharepoint 和 OneDrive 帐户中搜索文件,就像他们在 Office365 中看到的那样。
我无法理解为什么我没有看到来自搜索 API 请求的预期结果。
当我提出这样的搜索请求时,我得到了预期的 1 个结果:
https://graph.microsoft.com/v1.0/sites/{my-site -id}/drive/root/search(q='brisbane')
但是,当我这样搜索时,没有结果:
https://graph.microsoft.com/v1.0/me/drive/search(q='brisbane')
如果我修改查询/me/drive/search
,我会看到来自 OneDrive 的结果,但看不到来自 SharePoint 的结果。
根据Microsoft Graph docs,/me/drive/search
应该搜索“用户可以访问的项目”。
这是预期的结果吗?有没有办法搜索所有当前用户的 Sharepoint 站点?还是我必须要求用户配置他们想要搜索的站点,然后分别搜索每个站点?
解决方案
这是设计使然。您需要阅读下面的“搜索用户可以访问的项目”标题以了解这意味着什么:
除了搜索驱动器中的项目外,您的应用还可以进行更广泛的搜索,以包括与当前用户共享的项目。要扩大搜索范围,请使用 Drive 资源上的搜索方法。
搜索时/me/drive/
,您正在搜索该用户的 OneDrive 以查找他们自己上传或明确与他们共享的文件。存在于用户碰巧有权访问的 SharePoint 库中的文件与与该用户“共享”的文件完全不同。
推荐阅读
- reactjs - useRef React Hook 和事件侦听器出现问题并更改 img src
- http - 在 Lua 中读取 html 页面
- reactjs - reactjs以对象数组的形式计算状态中存在的所有值的总和
- css - 显示图像背景的全宽和全高
- angular-material - mat-select 显示的值与 mat-options 选择的值不同
- java - OSGi 声明式服务在手动安装包时不绑定服务
- javascript - ngOnit 上未显示自定义警报组件
- python-3.x - 是否可以将端口号添加到 python 请求主机名?
- javascript - 在 Javascript 中验证错误日期
- python - Python:启动临时 RESTful 服务器的方法