讲师中心 微信公众号
AI工具推荐 视频效率加速

Office 365 Connector

Polar Sponsor
爱发电 赞助
.NET 9.0

Office 365/Outlook 连接器,支持邮件(读取/发送)、日历(读取/写入)和联系人(读取/写入),采用弹性的 OAuth 认证。现已支持多账户,可在单一技能中管理多个 Microsoft 365 身份。解决 Office 365 邮件、日历和联系人连接的难题。使用 Microsoft Graph API,提供完整的 Azure 应用注册设置指南。非常适合在 OpenClaw 中访问 Microsoft 365/Outlook 数据。

Office 365 Connector(多账户增强).

功能概述

Office 365 Connector(多账户增强).是一项面向实际任务的技能,主要用于Overview. 这种技能提供了与Office 365/Outlook服务(包括电子邮件、日历和联系人)的弹性、生产准备连接。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Office 365 连接器(多账户增强版)

概述

本技能提供面向生产环境的、高可用的 Office 365 / Outlook 服务连接能力,支持电子邮件、日历和联系人等核心功能。现支持多账户管理(v2.0.0),您可在单次技能安装下统一管理多个 Microsoft 365 身份(如工作账号、个人账号、顾问账号等)。

该技能通过提供 OAuth 认证、自动令牌刷新、按账户隔离的会话管理,以及详尽的 Azure 应用注册配置指南,有效解决了自动化工具连接 Office 365 的常见难题。

适用场景:

  • 跨多个组织管理多个工作身份
  • 分离个人与职业邮箱/日历
  • 访问共享邮箱及委派日历
  • 为多个客户工作的顾问与自由职业者

v2.0.0 新增特性:多账户支持!完整使用说明请参阅 MULTI-ACCOUNT.md。

致谢:由 Matthew Gordon(matt@workandthrive.ai)增强开发 —— 完整致谢信息详见 CREDITS.md。

v2.0.0 新增内容

Matthew Gordon 主导的重大增强:

  • ✨ 多账户管理 —— 单一技能实例支持多个 Microsoft 365 身份
  • 🔐 按账户令牌隔离 —— 每个账户拥有独立、安全的令牌存储空间
  • 🔄 便捷账户切换 —— 所有操作均支持 --account=name 参数
  • ⚙️ 默认账户设定 —— 可指定常用账户以提升操作效率
  • 📦 旧版迁移工具 —— 无缝迁移现有单账户配置
  • 🎯 账户管理 CLI —— 提供简洁的 add/remove/list/default 命令集
  • ✅ 完全向后兼容 —— 现有单账户配置无需任何修改即可继续运行

完整版本历史请参阅 CHANGELOG.md。

功能特性

邮件操作

  • 读取邮件(收件箱、已发送、自定义文件夹)
  • 发送邮件(支持附件、HTML 格式)
  • 按发件人、主题、日期范围搜索邮件
  • 管理文件夹及移动邮件
  • 标记为已读/未读、为邮件添加标记
  • 删除邮件

日历操作

  • 读取日历事件
  • 创建/更新/删除事件
  • 检查空闲时间
  • 管理会议邀请
  • 支持重复事件
  • 时区处理

联系人操作

  • 读取联系人及联系人文件夹
  • 创建/更新/删除联系人
  • 按姓名、邮箱、公司名称搜索联系人
  • 管理联系人组
  • 同步联系人信息

快速开始 —— 多账户模式

添加首个账户

cd skills/office365-connector

# 添加账户
node accounts.js add work    you@work.com "Work account"

# 认证登录
node auth.js login --account=work

添加更多账户

# 添加个人账户
node accounts.js add personal    you@outlook.com "Personal"

# 添加顾问账户
node accounts.js add consulting    you@client.com "Consulting"

# 设置默认账户
node accounts.js default work

# 列出全部账户
node accounts.js list

使用账户

# 查看工作日历
node calendar.js today --account=work

# 读取个人邮件
node email.js recent 10 --account=personal

# 使用顾问账户发送邮件
node send-email.js send client@example.com "Subject" "Body" --account=consulting

从单账户配置迁移

已在使用 v1.0.0?完全无需担心!

# 导入现有配置
node accounts.js import-legacy

# 继续无变更使用(环境变量仍有效)
# 或新增其他账户
node accounts.js add secondary   

前提条件

使用本技能前,您 必须 完成 Azure 应用注册配置,以获取以下三项凭证:

  1. 租户 ID(Tenant ID) —— 您的 Azure AD 租户标识符
  2. 客户端 ID(Client ID) —— 您的应用程序(客户端)ID
  3. 客户端密钥(Client Secret) —— 您的应用程序密钥值

配置耗时:约每账户 10–15 分钟

完整分步操作指南请参阅 Setup Guide。

权限验证

本技能需以下 委派权限(需用户授权同意):

邮件权限

  • Mail.Read —— 读取用户邮件
  • Mail.ReadWrite —— 对用户邮件进行读写操作
  • Mail.Send —— 以用户身份发送邮件

日历权限

  • Calendars.Read —— 读取用户日历
  • Calendars.ReadWrite —— 对用户日历进行读写操作

联系人权限

  • Contacts.Read —— 读取用户联系人
  • Contacts.ReadWrite —— 对用户联系人进行读写操作

个人资料权限(认证必需)

  • User.Read —— 登录并读取用户个人资料
  • offline_access —— 持久访问数据(用于刷新令牌)

重要提示:在执行配置前,请确认您已充分理解并接受上述权限。每一项权限均授予对您的 Microsoft 365 数据的特定访问权限。

各权限具体作用说明请参阅 Permissions Reference。

配置

多账户配置(v2.0.0+)

账户信息存储于 ~/.openclaw/auth/office365-accounts.json,令牌文件存于 ~/.openclaw/auth/office365/ 目录下。

使用 accounts.js CLI 工具进行管理:

node accounts.js list                # 列出全部账户
node accounts.js add  ...      # 添加账户
node accounts.js remove        # 删除账户
node accounts.js default       # 设为默认账户

旧版单账户配置(向后兼容)

单账户模式下仍支持环境变量配置:

export AZURE_TENANT_ID="your-tenant-id"
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"

或在 OpenClaw 配置中声明:

{
  "env": {
    "vars": {
      "AZURE_TENANT_ID": "your-tenant-id",
      "AZURE_CLIENT_ID": "your-client-id",
      "AZURE_CLIENT_SECRET": "your-client-secret"
    }
  }
}

认证流程

本技能采用 OAuth 2.0 设备代码流(Device Code Flow) 实现高可靠性认证:

  1. 向 Microsoft 请求设备代码
  2. 显示用户代码及验证网址
  3. 用户访问网址并输入代码
  4. 轮询等待令牌发放完成
  5. 保存访问令牌 + 刷新令牌(按账户隔离)
  6. 令牌过期时自动刷新

令牌存储:令牌安全存储于 ~/.openclaw/auth/office365/.json,文件权限设为 0600(仅属主可读写)。

使用示例

多账户邮件操作

# 从默认账户读取
node email.js recent 10

# 从指定账户读取
node email.js recent 10 --account=work

# 在顾问账户中搜索
node email.js search "proposal" --account=consulting

# 使用对应身份发送
node send-email.js send client@example.com "Update" "..." --account=consulting

多账户日历操作

# 查看工作日历
node calendar.js today --account=work

# 查看个人日历
node calendar.js week --account=personal

账户管理

# 列出所有已配置账户
node accounts.js list

# 检查认证状态
node auth.js status --account=work

# 如需重新认证
node auth.js login --account=work

真实应用场景

多个工作身份

适用于跨多个组织协作的典型场景:

# 上午:检查全部日历
node calendar.js today --account=work
node calendar.js today --account=consulting
node calendar.js today --account=startup

# 按身份处理邮件
node email.js recent --account=work
node email.js recent --account=consulting

# 使用对应账户发送
node send-email.js send client@bigcorp.com "Proposal" "..." --account=work

个人与职业分离

# 工作时段:使用工作账户
node calendar.js today --account=work
node email.js recent --account=work

# 下班后:使用个人账户
node email.js recent --account=personal

错误处理

本技能内置健壮的错误处理机制,覆盖以下场景:

  • 令牌过期 —— 自动刷新,并采用指数退避重试策略
  • 请求限频 —— 内置重试逻辑,含合理延迟间隔
  • 网络异常 —— 支持连接超时处理
  • 权限错误 —— 明确提示缺失的权限范围(scope)
  • API 错误 —— 返回 Microsoft Graph 提供的详细错误信息
  • 账户未找到 —— 提供友好错误信息及解决建议

速率限制

Microsoft Graph API 存在如下速率限制:

  • 每应用限制:每小时最多 130,000 次请求
  • 每用户限制:根据实际负载动态调整
  • 限频响应:返回 HTTP 429 状态码时自动触发重试

本技能自动处理限频响应,并采用指数退避策略。

安全注意事项

  1. 令牌安全:令牌文件采用严格权限控制(0600)
  2. 账户隔离:每个账户拥有独立的令牌存储路径
  3. 最小权限原则:仅申请必需的最低权限范围
  4. 刷新令牌管理:自动轮换,旧令牌立即失效
  5. 客户端密钥保护:绝不记录或暴露;以 0600 权限存储
  6. 多租户支持:当前配置为单租户模式(仅限您所在组织)

故障排查

多账户问题

“未指定账户且未设置默认账户”

# 设置默认账户
node accounts.js default work

# 或始终显式指定 --account=
node calendar.js today --account=work

“账户未找到”

# 列出可用账户
node accounts.js list

# 添加缺失账户
node accounts.js add    

认证已过期

# 检查状态
node auth.js status --account=work

# 重新认证
node auth.js login --account=work

常见问题

“AADSTS700016:目录中未找到应用程序”

  • 确认租户 ID 与您的 Azure AD 租户匹配
  • 确认应用注册未被意外删除

“AADSTS65001:用户未授权”

  • 完成设备代码流认证流程
  • 如组织策略要求,需管理员授权(Admin Consent)

“AADSTS700082:刷新令牌已过期”

  • 使用设备代码流重新认证
  • 检查令牌存储文件的权限设置

“403 Forbidden”

  • 确认 Azure 中已授予所需 API 权限
  • 检查是否需要管理员授权

详细排障指南请参阅 Setup Guide 和 MULTI-ACCOUNT.md。

限制条件

  • 附件大小:单个附件最大 4MB(API 限制)
  • 邮件收件人:单封邮件最多支持 500 个收件人
  • 日历事件:最多支持创建未来 1,095 天内的事件
  • 批量操作:每批次最多 20 个请求

命令参考

账户管理

node accounts.js list                           # 列出全部账户
node accounts.js add     [email] [desc]
node accounts.js remove                   # 删除账户
node accounts.js default                  # 设为默认账户
node accounts.js import-legacy                  # 导入 v1.0.0 配置

认证

node auth.js login [--account=name]            # 认证登录
node auth.js status [--account=name]           # 检查认证状态
node auth.js token [--account=name]            # 获取访问令牌

邮件

node email.js recent [count] [--account=name]
node email.js search "query" [--account=name]
node email.js from email@domain [--account=name]
node email.js read  [--account=name]

日历

node calendar.js today [--account=name]
node calendar.js week [--account=name]

发送与管理

node send-email.js send    [--account=name]
node send-email.js reply   [--account=name]
node cancel-event.js  [comment] [--account=name]

资源

文档文件

  • MULTI-ACCOUNT.md —— 完整多账户使用指南
  • CHANGELOG.md —— 版本历史与变更说明
  • CREDITS.md —— 致谢与贡献者列表
  • references/setup-guide.md —— Azure 应用注册操作指南
  • references/permissions.md —— 安全与权限参考文档

Microsoft 官方资源

  • Microsoft Graph API 文档:https://learn.microsoft.com/en-us/graph/api/overview
  • 委派权限 vs 应用权限:https://learn.microsoft.com/en-us/graph/auth/auth-concepts
  • 速率限制说明:https://learn.microsoft.com/en-us/graph/throttling

致谢

原始技能:ClawHub 社区发布的 office365-connector v1.0.0

多账户增强版(v2.0.0):Matthew Gordon(matt@workandthrive.ai)

衷心感谢 Matthew Gordon 贡献多账户增强功能,使本技能对顾问、自由职业者及任何需管理多个工作身份的用户更具实用价值!

完整致谢信息请参阅 CREDITS.md。

许可证

本技能保持与原始版本许可证的兼容性。具体条款详见 CREDITS.md。

目录

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
Office和Wps的区别
Office和Wps的区别

microsoft office提供更广泛的功能和市场领先的兼容性,但成本较高。wps针对基本办公任务提供了免费或低成本的替代方案,并具有更广泛的平台支持。想了解更多Office和Wps的相关内容,可以阅读本专题下面的文章。

1881

2024.07.10

office软件有哪些
office软件有哪些

office软件有:1、Microsoft Word;2、Microsoft Excel;3、Microsoft PowerPoint;4、Microsoft Outlook;5、Microsoft OneNote;6、Microsoft Access;7、Microsoft Publisher。本专题提供office软件相关的文章、下载和课程。

1897

2023.06.29

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn