ms-todo-oauth

Microsoft To Do 智能命令行助手

🥥55总安装量 17评分人数 21
100% 的用户推荐

基于 Microsoft Graph API 的全功能命令行待办工具,支持 OAuth2 认证与循环提醒,个人开发者维护,使用前须替换硬编码 Azure 凭据以确保安全。

C

存在明显风险,不建议直接用于敏感场景

  • 来自社区或个人来源,建议先隔离验证
  • ❌ 检出硬编码 Azure 应用程序凭据(Client ID 和 Secret),存在共享凭据滥用及 API 配额耗尽风险
  • ✅ 无危险代码执行函数(eval/exec/system/subprocess),源码为纯 Python 可读可审计
  • ✅ 采用官方 Microsoft MSAL 库实现 OAuth2 标准认证流程,Token 仅本地存储
  • ✅ 权限申请最小化(仅 Tasks.ReadWrite),无过度授权或静默数据上传行为
  • ⚠️ 破坏性操作(delete/delete-list)虽默认需确认,但支持 `-y` 参数跳过,存在误操作可能

使用说明

ms-todo-oauth 是一款基于 Python 开发的 Microsoft To Do 命令行管理工具,通过 Microsoft Graph API 提供全功能的任务生命周期管理能力。该工具采用 OAuth2 认证机制,支持个人微软账号和企业/学校账号,允许用户在终端环境中高效管理待办事项。

核心用法
用户需在项目根目录通过 Python 虚拟环境运行脚本。首次使用需执行 login get 获取授权 URL,在浏览器完成微软账号登录后,复制授权码并通过 login verify 完成认证。之后即可执行各类操作:使用 add 创建支持优先级、截止日期、提醒和标签的任务;通过 completedelete 管理任务状态;利用 todayoverduepending 等视图筛选任务;借助 export 导出 JSON 格式数据备份。工具支持自然语言日期解析(如 "3d"、"2h")和循环任务模式(日、周、月、工作日)。

显著优点
功能完备性突出,包含 29 个自动化测试用例且通过率 100%,覆盖认证、CRUD 操作、循环模式等全场景。国际化支持良好,完全兼容中文和 Emoji 字符。采用微软官方 MSAL 库处理 OAuth2 流程,Token 本地存储于 ~/.mstodo_token_cache.json,安全性有基础保障。提供丰富的任务属性设置和灵活的数据导出功能,满足自动化和集成需求。

潜在缺点
最显著的安全隐患是源码中硬编码了共享的 Azure 应用凭据(Client ID 和 Secret),可能导致 API 配额耗尽或凭据滥用,必须手动替换。技术门槛较高,要求 Python 3.9+ 环境和虚拟环境配置,对非技术用户不友好。OAuth 流程需手动浏览器干预,无法实现完全自动化。此外,工具由个人开发者维护(T3 来源),长期维护稳定性存疑。

适合的目标群体
主要面向习惯命令行操作的技术用户、开发者及效率工具爱好者。适合需要批量任务自动化管理、脱离图形界面操作 Microsoft To Do 的高级用户,以及希望通过 JSON 导出实现数据集成或备份的技术人员。不推荐普通非技术用户直接使用。

使用风险
首要风险是硬编码凭据问题,未替换前存在共享凭据泄露和滥用的可能。操作层面,虽然删除命令默认需确认,但 -y 参数可跳过确认,可能导致误删数据。工具完全依赖 Microsoft Graph API 的网络可用性,离线无法使用。Token 缓存文件如权限设置不当,可能存在本地信息泄露风险。建议在替换个人凭据、设置严格文件权限后,在可信环境中使用。

ms-todo-oauth 内容

文件夹图标scripts文件夹
手动下载zip · 31.3 kB
MANUAL_TEST_CHECKLIST.txttext/plain
请选择文件