SuperAPI AI 工具集

ms-onedrive-personal-graph

办公与效率

查看项目

更新于 10-16 06:42

技能介绍

用途:该技能用于通过 Microsoft Graph API 访问 OneDrive 个人版(消费者微软账户),采用 OAuth 2.0 设备码流程,无需在服务器上做浏览器自动化,令牌保存在本地。

主要能力:设备码认证、列出文件夹(ls)、创建文件夹(mkdir)、上传文件(简单上传,适合中小文件)、下载文件、查看项目元数据(info)。

安全设计与非功能:按设计不含删除操作;暂不支持批量移动或重命名(资料称后续可添加)。

首次配置:需创建 Microsoft Entra 应用注册以获得 Client ID。在 https://entra.microsoft.com/ 中 App registrations → New registration,支持账户类型选“Accounts in any organizational directory and personal Microsoft accounts”,然后在 Authentication 中启用 Allow public client flows(部分租户还需设置 isFallbackPublicClient=true,脚本会提示)。若遇到“tenant blocked due to inactivity”的登录错误,可改用可控制的其它 Entra 租户创建应用(需允许个人微软账户)。

运行安装脚本:cd /root/thinkfleet/skills/ms-onedrive-personal-graph 后执行 ./scripts/onedrive-setup.sh。脚本会询问 Client ID、打印设备登录 URL 与代码、等待批准,并把令牌保存到 ~/.onedrive-mcp/credentials.json,随后测试访问 https://graph.microsoft.com/v1.0/me/drive。

使用方式(均使用上述本地令牌): ./scripts/onedrive-cli.sh ls / ./scripts/onedrive-cli.sh mkdir "/Invoices" ./scripts/onedrive-cli.sh upload ./invoice.pdf "/Invoices/invoice.pdf" ./scripts/onedrive-cli.sh download "/Invoices/invoice.pdf" ./invoice.pdf ./scripts/onedrive-cli.sh info "/Invoices/invoice.pdf"

令牌刷新:遇到 401 或无效令牌时执行 ./scripts/onedrive-token.sh refresh。

已知问题:AADSTS5000225 表示绑定的 Entra 租户被标记为不活跃,可改用 https://account.microsoft.com/ 的消费者账户,或在其它可控租户创建应用注册;AADSTS70002 表示客户端需标记为 mobile,需启用 Allow public client flows 或设置 isFallbackPublicClient=true。上传限制:使用简单上传端点(...:/content),大文件需另行支持上传会话,目前资料未提供该能力。