Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] 搜索功能增强 #109

Closed
ccddos opened this issue Jun 25, 2024 · 2 comments
Closed

[FR] 搜索功能增强 #109

ccddos opened this issue Jun 25, 2024 · 2 comments

Comments

@ccddos
Copy link

ccddos commented Jun 25, 2024

问题描述

当前的搜索逻辑如下,直接从当前打开的文件夹下进行 字符串匹配

const filteredFileList =

image

这种模式下对文件夹很多的onedrive不太友好,尤其是路径很深的时候
比如 /xx/xx/xxx/xxx/xxx ,得点很多下

增强建议

  1. 集成ms graph api , 添加一个搜索模式的选择选项框?
  2. 在这里可以自行输入路径,然后直接跳转?
    image

具体api可以参考官方文档

参考文档 (来自gemini)

OneDrive 提供了多个 API 用于搜索文件,主要包括以下两种:

  1. DriveItem Search API:
  • 适用范围: 用于搜索当前用户在 OneDrive 中可以访问的所有项目,包括自己拥有的文件和与自己共享的文件。
  • 文档地址: https://learn.microsoft.com/zh-cn/onedrive/developer/rest-api/api/driveitem_search?view=odsp-graph-online
  • 主要功能:
    • 支持全文搜索,可以搜索文件内容、文件名和元数据。
    • 提供筛选功能,可以按文件类型、修改日期等条件筛选搜索结果。
    • 支持分页查询,可以分批获取大量搜索结果。
  • 请求方式: GET
  • 请求地址示例: GET /me/drive/search(q='keyword')
  1. Microsoft Search API:
  • 适用范围: 用于在 OneDrive 和 SharePoint 中进行更广泛的搜索,可以搜索文件、列表项、网站等内容。
  • 文档地址: https://learn.microsoft.com/zh-cn/graph/search-concept-files
  • 主要功能:
    • 支持全文搜索,可以搜索文件内容、文件名、元数据等。
    • 提供丰富的筛选和排序功能,可以按文件类型、修改日期、相关性等条件筛选和排序搜索结果。
    • 支持自定义搜索范围,可以指定搜索特定的网站、列表或库。
  • 请求方式: POST
  • 请求地址示例: POST /search/query

选择合适的 API:

  • 如果只需要在 OneDrive 中搜索文件,可以使用 DriveItem Search API。
  • 如果需要在 OneDrive 和 SharePoint 中进行更复杂的搜索,或者需要搜索文件以外的其他内容,可以使用 Microsoft Search API。

注意事项:

  • 使用 OneDrive API 需要进行身份验证,获取访问令牌。
  • 具体使用方法请参考官方文档,文档中提供了详细的说明和示例代码。

希望这些信息能帮助你找到合适的 OneDrive 搜索 API 并顺利使用。

@nini22P
Copy link
Owner

nini22P commented Jun 26, 2024

现已改进了搜索功能 #110

@ccddos
Copy link
Author

ccddos commented Jun 27, 2024

测试了下,桌面端和移动端都符合需求

感谢作者🙏

@ccddos ccddos closed this as completed Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants