首页 > 解决方案 > Microsoft Graph - 测试文件夹中文件的存在

问题描述

给定一个文件名和一个文件夹的 ID,是否有一个资源 url 可用于查看该文件是否存在于文件夹中?/me/drive/items/{parent-id}/{name} 之类的东西似乎合乎逻辑。

现在我正在做 /me/drive/items/{parent-id}/children 并通过结果数组进行搜索。但是,嘿。

谢谢

标签: microsoft-graph-api

解决方案


以下查询无需任何身份验证即可与Graph Explorer一起使用。在 Microsoft 提供的演示数据中,子文件夹“Business Data”中有一个名为“Sales by Category.xlsx”的文件。以下是检查该文件是否存在的选项:

  1. 搜索整个驱动​​器:

GET:

https://graph.microsoft.com/v1.0/me/drive/root/search(q='Sales by Category.xlsx')
  1. 使用子文件夹 ID 在所有子文件夹的特定文件夹中搜索:

GET:

https://graph.microsoft.com/v1.0/me/drive/items/01BYE5RZ5MYLM2SMX75ZBIPQZIHT6OAYPB/search(q='Sales by Category.xlsx')
  1. 使用相对路径在所有子文件夹中的特定文件夹中搜索:

GET:

https://graph.microsoft.com/v1.0/me/drive/root:/Business%20Data:/search(q='Sales by Category.xlsx')
  1. 使用相对路径直接通过 Graph 访问文件

GET:

https://graph.microsoft.com/v1.0/me/drive/root:/Business%20Data/Sales%20by%20Category.xlsx

如果您只想在文件夹的特定子文件夹中搜索,则需要在搜索表达式之前指定文件夹,方法是使用项目 ID 表示法、相对路径或两者的组合。默认搜索子文件夹。选项 4 很直观,似乎更快,但是如果找不到该项目,它会抛出 404 错误。Azure 管理员可能不喜欢这样,因为这应该显示在他们的日志中。搜索选项不会抛出错误,只会返回空结果。因此,搜索可能会更好。


推荐阅读