用途
本连接器为 AI 智能体提供可调用的 Microsoft OneDrive 工具,底层通过 Microsoft Graph API v1.0(https://graph.microsoft.com/v1.0/me/drive/...)访问。适用于智能体需要查找或读取 OneDrive 内容、操作文件、管理共享与权限,以及访问他人共享内容的场景。它被声明为独立、非官方的连接器,与 Microsoft OneDrive 无隶属、背书或赞助关系,名称仅用于标识所连接的服务。
主要能力
工具集共 20 个脚本,分布在各驱动器、文件与文件夹、共享与权限三部分:
- 驱动器与读取:getDrive(获取驱动器元数据与存储配额)、listDrives(列出用户可用驱动器以解析 driveId)、listFolderItems(列出文件夹或驱动器根目录的直接子项)、findFiles(在单个驱动器内按名称/内容搜索)、findItemsByKql(通过 Microsoft Search 以关键词/KQL 搜索自有与共享项)、getItemByShareUrl(将共享 URL 或 share id 解析为文件/文件夹)、getItem(按 id 获取文件/文件夹元数据并附下载 URL)。
- 文件与文件夹写入:createFolder(在根目录或其他文件夹内新建文件夹)、uploadTextFile(由字符串内容创建小文本文件)、uploadFile(从源 URL 上传二进制文件,支持大文件)、replaceFile(从源 URL 替换已有文件内容)、moveItem(同一驱动器内移动/重命名)、copyItem(将文件/文件夹异步复制到其他文件夹或驱动器)、getCopyStatus(轮询异步复制状态,无需连接)、deleteItem(删除文件或文件夹,移入回收站)、exportFile(下载并转换为 PDF / HTML / JPG)。
- 共享与权限:createSharingLink(创建 view/edit/embed 可共享链接)、inviteToItem(授予指定人员读/写权限)、listItemPermissions(列出文件或文件夹权限)、removeItemPermission(撤销权限)。
使用方式
这是 agentskills.io 技能。若尚未作为技能安装,先用 npx skills add zapier/connectors --skill microsoft-onedrive 安装(或使用所在框架的技能安装机制),随后继续。安装技能会复制这些文件,但不包含依赖。在运行 CLI、本地 MCP 服务器或 zapier-sdk 认证命令之前,需先在此处执行一次 npm install --omit=dev。若以 npm 依赖方式导入已发布包,则安装依赖时已解析完整,参见 references/use-as-sdk.md。
连接器运行于 Node.js 22.18+。需按运行方式加载对应参考文件:
- 具备 MCP 的客户端:references/use-as-mcp.md
- 终端/子进程(可运行 node):references/use-as-cli.md
- 仅自有代码、以依赖导入:references/use-as-sdk.md
- 无工具、无终端、无法导入包:references/use-as-recipe.md
所有脚本使用单一连接 microsoft-onedrive,除 getCopyStatus 无需连接(轮询预认证的 monitor URL)。每个文件/文件夹工具接受可选 driveId:省略则作用于调用者自己的 OneDrive,传入 listDrives 的结果(或共享项的 remoteItem.parentReference.driveId)可指定其他驱动器。
认证以连接选择器字符串 [<resolver>:]<value> 形式传入,而非密钥本身。每个连接器接受 zapier:<connection-id>(由 Zapier 管理认证,并经其重试与治理层),部分还接受其他直连令牌解析器。前缀可省略,裸值交由第一个认领它的解析器。是否需要先检查已有配置时,不要打印环境变量值,仅检查名称或直接判断已知变量名。没有连接时,可按参考流程直接传入凭据(references/use-without-zapier.md)或经由 Zapier 连接(references/use-with-zapier.md)。
输出格式
每个脚本返回 { data, meta } 信封。data 为脚本结果(按其 outputSchema 声明的结构)。meta.outputDataValidation 表示校验情况:{ skipped: false, droppedPaths: null } 表示校验通过且无字段被移除;{ skipped: false, droppedPaths: [...], instruction } 表示校验通过但部分未在 outputSchema 中声明的字段被剥离;{ skipped: true } 表示跳过校验,data 为原始未检查输出。如需原始未校验结果可选择性跳过输出校验(输入校验收不被跳过)。如需裁剪大结果,可传入 jq 表达式对 data 做后处理(注意 jq 仅针对 data,而非整个信封),转换后的值会替换 data,meta 保留,且结果不再按输出 schema 重新校验。
适用场景与消歧规则
写入前消歧:对按名称查到的文件/文件夹(来自 findFiles、findItemsByKql 或 listFolderItems),先统计大小写不敏感的名称精确匹配数。若恰好一个匹配,直接操作;若有两个及以上并列,应停下,列出带区分字段(parentReference.path、webUrl、lastModifiedDateTime 或 id)的候选项并请用户确认,不得随意选择或对全部写入。
限制
本工具集有意不提供以下能力,若被要求应明确说明不支持并停止,不得用其他工具伪造:
- 不提供新文件/文件变更的触发器(轮询触发)。触发器未暴露,不得通过反复列举或搜索来模拟“触发器”。
- 不支持跨驱动器移动文件(无原生跨驱动器移动)。moveItem 仅限同一驱动器;跨驱动器需 copyItem → getCopyStatus → deleteItem,且此过程有损:副本会获得新的 id 和 URL,其共享链接与权限不会随之保留。可在此前提下执行,但绝不能作为普通“移动”呈现,应警告用户这是先复制后删除,删除原文件前先经 getCopyStatus 确认复制成功,并报告新位置;不得静默复制删除后谎报为已完成移动。
- 不枚举所有与用户共享的内容。未暴露“与我共享”列表工具,访问共享内容仅能通过 findItemsByKql(搜索)或 getItemByShareUrl(解析粘贴的链接)。
- 不支持回收站恢复、Excel 工作簿区域读写、同步变更源(delta)、文件版本/缩略图管理。deleteItem 仅能由用户在 OneDrive 界面中恢复,无法通过此处的后续调用恢复。
认证与参考
Graph OAuth 作用域、错误信封(403/404/409/429)、游标分页、/me/drive 与 /drives/{driveId} 寻址、短时预认证下载 URL、可恢复上传、异步复制、导出/转换、按驱动器与 KQL 搜索、共享链接/邀请/权限,以及共享内容寻址(remoteItem、/shares/{token})等内容,参见 microsoft-onedrive-api-gotchas.md。当调用意外报错、需要解析 drive 或 item id、上传或导出文件、或处理共享内容与权限时,应加载该参考文件。