返回顶部
m

ms-todo-oauth微软待办认证

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.4
安全检测
已通过
847
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

ms-todo-oauth

ms-todo-oauth

一个经过全面测试的 Microsoft To Do 命令行客户端,用于通过 Microsoft Graph API 管理任务和列表。

⚠️这是一个基于 OAuth 的脚本。它包含生成的 Azure 客户端 ID 和密钥 ID

如果您担心隐私问题,请考虑在 scripts\ms-todo-oauth.py 中将它们替换为您自己的。
只需搜索以下值:

client_id=ca6ec244……

client_secret=TwQ8Q……

✨ 功能特性

  • - ✅ 完整任务管理:创建、完成、删除和搜索任务
  • 🗂️ 列表管理:创建和管理多个任务列表
  • 丰富的任务选项:优先级、截止日期、提醒、描述、标签
  • 🔄 重复任务:支持每日、每周、每月模式及自定义间隔
  • 📊 多视图查看:今日、逾期、待办、统计
  • 🔍 强大搜索:跨所有列表查找任务
  • 💾 数据导出:将所有任务导出为 JSON 格式
  • 🧪 全面测试:29 个全面的自动化测试
  • 🌐 Unicode 支持:完整支持中文和表情符号

前提条件

  1. 1. 必须安装 Python >= 3.9
  2. 工作目录:所有命令必须从此技能根目录(包含此 SKILL.md 文件的目录)运行
  3. 网络访问:需要互联网访问 Microsoft Graph API 端点
  4. Microsoft 账户:个人 Microsoft 账户(Hotmail、Outlook.com)或工作/学校账户
  5. 身份验证:首次使用需要通过浏览器进行 OAuth2 登录。请参阅身份验证部分
- 令牌缓存:~/.mstodotokencache.json(跨会话持久化,自动刷新)

安装与设置

首次设置

首次使用此技能前,必须安装依赖项:

bash

导航到技能目录


cd

在项目中创建虚拟环境(创建 .venv 文件夹)

python3 -m venv .venv

根据平台激活虚拟环境:

- Bash/Zsh:

source .venv/bin/activate

- Fish:

source .venv/bin/activate.fish

- Windows (PowerShell):

.venv\Scripts\Activate.ps1

pip install --upgrade pip
pip install -r requirements.txt

替代方案(全局 Python 环境,不推荐):

pip install -r requirements.txt

依赖项:

  • - msal(Microsoft 身份验证库)- 官方 Microsoft OAuth 库
  • requests - 用于 API 调用的 HTTP 客户端
  • 在 requirements.txt 中指定

环境验证

安装后,验证设置:

bash

如果使用原生虚拟环境(如上激活):

python3 scripts/ms-todo-oauth.py --help

预期:应显示命令帮助文本

故障排除:

  • - 如果提示Python not found,请从 https://python.org 安装 Python 3.9 或更高版本

测试(可选但推荐)

验证所有功能是否正常工作:

bash

运行全面的自动化测试套件(29 个测试)


python3 testmstodo_oauth.py

预期:所有测试通过(100% 通过率)

详情请参阅测试部分。

安全说明

  • - 通过 Microsoft 的 msal 库使用官方 Microsoft Graph API
  • 所有代码均为纯 Python(.py 文件),可读可审计
  • 令牌本地存储在 ~/.mstodotokencache.json 中
  • 所有 API 调用直接发送到 Microsoft 端点(graph.microsoft.com)
  • OAuth2 标准身份验证流程
  • 不涉及第三方服务

命令参考

所有命令遵循以下模式:

python3 scripts/ms-todo-oauth.py [全局选项] <命令> [命令选项]

全局选项

选项描述
-v, --verbose显示详细信息(ID、日期、备注)。必须放在子命令之前。
--debug
启用调试模式以显示 API 请求和响应。用于故障排除。必须放在子命令之前。 | | --reauth | 通过清除令牌缓存并重新开始登录来强制重新身份验证 |

⚠️ 常见错误:全局选项必须放在子命令之前。

  • - ✅ python3 scripts/ms-todo-oauth.py -v lists
  • ✅ python3 scripts/ms-todo-oauth.py --debug add Task
  • ❌ python3 scripts/ms-todo-oauth.py lists -v


身份验证

身份验证使用 OAuth2 授权码流程,适用于交互式和自动化环境。

login get — 获取 OAuth2 授权 URL

bash
python3 scripts/ms-todo-oauth.py login get

输出示例:

======================================================================
🔐 OAuth2 授权需要
======================================================================

请访问以下 URL 以授权应用程序:

https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?...

授权后,您将被重定向到回调 URL。
从回调 URL 复制 code 参数并运行:

ms-todo-oauth.py login verify

======================================================================

操作步骤:

  1. 1. 在浏览器中打开提供的 URL
  2. 使用您的 Microsoft 账户登录
  3. 在提示时授予权限
  4. 您将被重定向到类似这样的 URL:http://localhost:8000/callback?code=M.R3BAY.abc123...
  5. 复制 code= 后面的整个代码(通常是以 M.R3BAY. 开头的长字符串)

代理行为:向用户展示 URL 并解释他们需要:

  1. 1. 访问该 URL
  2. 完成登录
  3. 从回调 URL 复制授权码
  4. 将其提供给您

login verify — 使用授权码完成登录

bash
python3 scripts/ms-todo-oauth.py login verify

示例:

bash
python3 scripts/ms-todo-oauth.py login verify M.R3_BAY.abc123def456...

成功输出:

✓ 身份验证成功!
✓ 登录信息已保存,下次将自动登录。

失败输出:

❌ 令牌获取失败
错误:invalid_grant
描述:AADSTS54005:OAuth2 授权码已被使用...

退出代码:成功返回 0,失败返回 1。

重要说明:

  • - 每个授权码只能使用一次
  • 如果验证失败,您需要再次运行 login get 以获取新代码
  • 成功登录后,令牌会被缓存,除非出现以下情况,否则无需再次登录:
- 您运行了 logout - 您运行了 --reauth - 令牌过期且无法自动刷新

logout — 清除保存的登录信息

bash
python3 scripts/ms-todo-oauth.py logout

输出:✓ 登录信息已清除

仅在用户明确要求切换账户或清除登录数据时使用。正常情况下,令牌会被缓存,登录是自动的。



列表管理

lists — 列出所有任务列表

bash
python3 scripts/ms-todo-oauth.py lists
python3 scripts/ms-todo-oauth.py -v lists # 显示 ID 和创建日期

输出示例:

📋 任务列表(共 3 个):

  1. 1. 任务
ID: AQMkADAwATYwMAItYTQwZC04OThhLTAwAi0wMAoALgAAA0QJKpxW32BIsIlHaM... 创建时间:2024-12-15T08:30:00Z
  1. 2. Work
  2. Shopping

create-list — 创建新列表

bash
python3 scripts/ms-todo-oauth.py create-list <名称>

参数必需描述
name新列表的名称(支持 Unicode/中文)

示例:

bash
python3 scripts/ms-todo-oauth.py create-list 项目 A

输出:✓ 列表已创建:项目 A

delete-list — 删除列表

bash
python3 scripts/ms-todo-oauth.py delete-list <名称> [-y]

参数/选项必需描述
name要删除的列表名称
-y, --yes
否 | 跳过确认提示 |

⚠️ 这是破坏性操作。不使用

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ms-todo-oauth-1776420088 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ms-todo-oauth-1776420088 技能

通过命令行安装

skillhub install ms-todo-oauth-1776420088

下载

⬇ 下载 ms-todo-oauth v1.0.4(免费)

文件大小: 31.88 KB | 发布时间: 2026-4-17 18:20

v1.0.4 最新 2026-4-17 18:20
- Added _meta.json file for enhanced metadata support.
- Introduced test_ms_todo_oauth.py at project root to streamline testing.
- Removed obsolete test script from scripts directory.
- Updated SKILL.md with simplified setup instructions (native venv usage) and removed references to the "uv" tool.
- All commands and documentation now reference Python's built-in venv for installation and running the CLI.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部