SuperAPI AI 工具集

one-drive-automation

办公与效率

查看项目

更新于 10-15 11:24

技能介绍

用途

该技能用于通过 Rube MCP(Composio)自动化 OneDrive 的文件管理操作,涵盖文件搜索、上传、下载、分享、权限管理以及文件夹的创建、移动、复制和删除等任务。

主要能力

  • 搜索与浏览文件:支持关键词搜索、列出根目录项目、获取项目详情、按名称查找文件或文件夹、列出所有可访问的驱动器。
  • 上传与下载文件:支持将文件上传到指定文件夹,以及按项目 ID 下载文件。
  • 分享与权限管理:支持邀请用户访问项目、创建分享链接、查看当前权限、更新项目元数据。
  • 文件夹管理:支持创建、移动、复制、删除文件夹或文件,以及重命名或更新项目属性。
  • 变更跟踪与驱动器信息:支持获取驱动器属性、检查存储配额、跟踪 SharePoint 站点驱动器的变更、获取文件版本历史。

使用方式

前置条件

  • Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)。
  • 通过 RUBE_MANAGE_CONNECTIONS 激活 OneDrive 连接,工具包为 one_drive。
  • 始终先调用 RUBE_SEARCH_TOOLS 获取当前工具架构。

设置步骤

  1. 获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥,只需添加端点即可。
  2. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
  3. 调用 RUBE_MANAGE_CONNECTIONS,工具包为 one_drive。
  4. 如果连接未处于 ACTIVE 状态,按照返回的授权链接完成 Microsoft OAuth。
  5. 确认连接状态显示为 ACTIVE 后再运行任何工作流。

核心工作流

  1. 搜索与浏览文件:依次调用 ONE_DRIVE_GET_DRIVE、ONE_DRIVE_SEARCH_ITEMS,可选调用 ONE_DRIVE_ONEDRIVE_LIST_ITEMS、ONE_DRIVE_GET_ITEM、ONE_DRIVE_ONEDRIVE_FIND_FILE、ONE_DRIVE_ONEDRIVE_FIND_FOLDER、ONE_DRIVE_LIST_DRIVES。
  2. 上传与下载文件:依次调用 ONE_DRIVE_ONEDRIVE_FIND_FOLDER、ONE_DRIVE_ONEDRIVE_UPLOAD_FILE 或 ONE_DRIVE_DOWNLOAD_FILE,可选调用 ONE_DRIVE_GET_ITEM。
  3. 分享文件与管理权限:依次调用 ONE_DRIVE_ONEDRIVE_FIND_FILE 或 ONE_DRIVE_ONEDRIVE_FIND_FOLDER、ONE_DRIVE_GET_ITEM_PERMISSIONS、ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM,可选调用 ONE_DRIVE_CREATE_LINK、ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA。
  4. 管理文件夹:依次调用 ONE_DRIVE_ONEDRIVE_FIND_FOLDER、ONE_DRIVE_ONEDRIVE_CREATE_FOLDER、ONE_DRIVE_MOVE_ITEM、ONE_DRIVE_COPY_ITEM、ONE_DRIVE_DELETE_ITEM,可选调用 ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA。
  5. 跟踪变更与驱动器信息:依次调用 ONE_DRIVE_GET_DRIVE,可选调用 ONE_DRIVE_GET_QUOTA、ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA、ONE_DRIVE_GET_ITEM_VERSIONS。

适用场景

  • 需要批量或自动化管理 OneDrive 文件的场景。
  • 需要搜索、上传、下载、分享文件或管理权限的场景。
  • 需要创建、移动、复制、删除文件夹或文件的场景。
  • 需要监控驱动器变更或获取存储配额信息的场景。

限制

  • 搜索不支持 KQL 操作符(folder:、file:、filetype:、path:),这些会被视为字面文本。
  • 搜索不支持通配符(、?),会被自动移除;应使用文件扩展名关键词(如 "pdf" 而非 ".pdf")。
  • ONE_DRIVE_ONEDRIVE_LIST_ITEMS 仅返回根级内容;更深层级需使用递归的 ONE_DRIVE_GET_ITEM 并设置 expand_relations: ["children"]。
  • 大文件夹会分页;需持续跟随 skip_token / @odata.nextLink 直到耗尽。
  • 某些驱动器 ID 格式可能因 Microsoft Graph API 限制而返回 "ObjectHandle is Invalid" 错误。
  • 上传在冲突时自动重命名(默认无覆盖选项)。
  • 大文件通过分块自动处理。
  • 同时提供 drive_id 和 user_id 时,drive_id 优先。
  • 项目 ID 因平台而异:OneDrive for Business 使用 01... 前缀,OneDrive Personal 使用 HASH!NUMBER 格式。
  • 项目 ID 区分大小写;需完全按照 API 返回使用。
  • ONE_DRIVE_MOVE_ITEM 不支持跨驱动器移动;跨驱动器传输需使用 ONE_DRIVE_COPY_ITEM。
  • 移动操作的 parentReference 需要文件夹 ID(而非文件夹名称);需先用 ONEDRIVE_FIND_FOLDER 解析。
  • ONE_DRIVE_COPY_ITEM 是异步操作;响应提供用于监控进度的 URL。
  • ONE_DRIVE_DELETE_ITEM 将项目移至回收站,而非永久删除。
  • 文件夹创建在冲突时自动重命名(如 "New Folder" 变为 "New Folder 1")。
  • ONE_DRIVE_COPY_ITEM 需提供 name 或 parent_reference(或两者)。
  • Delta 查询仅通过 ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA 对 SharePoint 站点驱动器可用。
  • Token "latest" 返回当前 delta token 但不返回项目(可用作起点)。
  • 深层或大型驱动器爬取可能需要数分钟;需使用批处理和恢复逻辑。
  • 激进的并行请求可能触发 HTTP 429;需遵守 Retry-After 头。
  • 权限无法通过 ONE_DRIVE_GET_ITEM 展开;需使用单独的权限端点。
  • q='*' 仅通配符查询会返回 HTTP 400 invalidRequest。
  • 至少 require_sign_in 或 send_invitation 之一必须为 true。
  • 使用错误的 item_id 调用 INVITE_USER_TO_DRIVE_ITEM 会更改非预期项目的权限;需先验证。
  • 写入或更高角色影响较大;授予前需获得用户明确确认。
  • GET_ITEM_PERMISSIONS 返回继承和所有者条目;不要假设响应仅反映最近更改。
  • 项目路径用于权限时使用 :/path/to/item:/ 格式。
  • 切勿使用 Web URL、分享链接或手动构造的标识符作为项目 ID。
  • 始终使用 Microsoft Graph API 返回的 ID。
  • 激进的并行 ONE_DRIVE_GET_ITEM 调用可能触发 HTTP 429 Too Many Requests。
  • 深层驱动器爬取应使用批处理并加入延迟。
  • 搜索不支持基于路径的过滤;应改用文件夹列表。
  • 移动操作要求 parentReference 中使用文件夹 ID,而非文件夹名称。
  • 复制操作是异步的;响应提供监控 URL。