为您的环境设置 Microsoft 365
有两种方式可将 Microsoft 365 连接到您的 AI-School 环境。请先选择最适合您组织的方案。
| 路线 | 何时使用 | 您需要做什么 |
|---|---|---|
| AI-School 的中央应用(默认) | 与 Outlook 邮件、Outlook 日历、Teams 和 SharePoint/OneDrive 的个人连接。 | Entra 管理员通过 Microsoft 365 连接 授予组织同意。随后按本文第 5 步放开集成。无需自建应用、客户端密钥或 Identity Provider。 |
| 自有 Entra 应用 | 您希望将 SharePoint 文件夹集中导入知识库,员工已通过自有应用使用 Microsoft 登录,或者您想自行管理该应用。 | 从第 1 步开始遵循本文。 |
如果您的组织已经通过自有应用使用 Microsoft 登录(环境中的 Microsoft ID 字段已填写),则所有连接都使用该自有应用。此时中央路线不适用。
自有 Entra 应用
使用自有 Microsoft Entra 应用,您的组织可将同一应用用于 Microsoft 登录 以及 Outlook、Teams 和 SharePoint。您可集中决定哪些集成和写入操作可用。随后用户只需在 首选项 → 工具 → 连接 中打开或关闭个人连接即可。
个人集成适用于 OpenAI、Claude、Gemini 和 Mistral 的受支持模型。所选模型必须支持使用工具。对于个人连接,访问权限遵循已登录 Microsoft 用户的权限。组织同意不会自动让所有员工登录,也不会赋予 AI 对所有邮箱的独立访问权。中央 SharePoint 知识库使用独立的应用权限以及现有知识库权限,详见本文后文。
您需要什么?
- 一个 Microsoft 365 组织,包含 Microsoft Entra ID,以及可访问所需服务的账户。
- 一名可注册应用并可 为所选 Microsoft Graph 权限授予组织同意 的管理员。仅有 Azure 订阅角色并不足够;您的 Entra 角色必须允许该同意。
- 在正确的 AI 环境中启用集成的管理权限。
- 一名可在 Google Cloud Identity Platform 中为该 AI 环境配置 Microsoft Identity Provider 的平台管理员。
- 您自己的 Microsoft 目录中的一个 app registration,包含客户端密钥以及正确品牌的两个重定向 URL。
Microsoft 登录与访问 Microsoft 数据是两个独立功能。仅能正常使用 Microsoft 登录,并不代表 Outlook、Teams 或 SharePoint 已设置完成。
1. 注册一个组织应用
打开 Microsoft Entra 管理中心,进入 App registrations → New registration。使用一个清晰的名称,例如 AI-School – 您的组织名称。对于自有组织,请选择 Accounts in this organizational directory only (Single tenant)。
请保存 Overview 中的以下信息:
| 数据 | 用途 |
|---|---|
| Directory (tenant) ID | 您组织的 Microsoft 目录;这将填入 AI 环境中的 Microsoft ID 字段。 |
| Application (client) ID | 已注册的应用;这将填入 Microsoft Identity Provider。 |
这两个 ID 不同。不要在 Microsoft ID 中填写 client ID 或 Firebase tenant ID。
2. 设置正确的重定向 URL
进入 Authentication → Add a platform → Web。为您的品牌添加下面两个 URL,必须与下表完全一致。第一个用于处理登录;第二个用于处理工作账户集成的授权。
| 品牌 | Microsoft 登录 | 工作账户集成 |
|---|---|---|
| AI-School | https://ai-school-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth |
| AI-Corporate | https://ai-corporate.firebaseapp.com/__/auth/handler | https://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth |
| AI-Public | https://ai-public-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-public-pro.cloudfunctions.net/completeConnectorOAuth |
请使用您环境所属品牌的 URL。无需在这些 URL 中填写您自己的组织名称或租户 ID。网站 URL、仪表板 URL 和 .web.app URL 不能替代这些回调。请将其注册为 Web,即使您是从浏览器中使用该集成。无需启用隐式令牌发放或 public-client flow。
3. 创建客户端密钥并分配权限
进入 Certificates & secrets → Client secrets → New client secret。选择合适的有效期,并在 Value 显示后立即安全保存。请通过约定的安全渠道将该值交给平台管理;Secret ID 不是客户端密钥。请跟踪到期日期,并在到期前更换密钥,也要在 Identity Provider 中同步更新。
然后进入 API permissions → Add a permission → Microsoft Graph → Delegated permissions。仅添加您的组织将提供的集成和操作所需的权限。
| 集成 | 读取权限 | 写入所需的额外权限 |
|---|---|---|
| 个人资料 / 基础 | User.Read;登录流程还会请求 openid、profile、email 和 offline_access | 无 |
| Outlook 邮件 | Mail.Read | 草稿: Mail.ReadWrite。发送: Mail.Send。 |
| Outlook 日历 | Calendars.Read | 写入: Calendars.ReadWrite。 |
| Microsoft Teams | Chat.Read、ChannelMessage.Read.All | 发帖: Team.ReadBasic.All、Channel.ReadBasic.All、ChannelMessage.Send。 |
| SharePoint / OneDrive | Sites.Read.All、Files.Read.All | 此工作账户集成不提供写入操作。 |
Mail.ReadWrite 不包含发送权限;发送需要单独的 Mail.Send。Teams 发帖会在所选频道中写入文本消息,不是私人聊天消息。此集成应使用 Delegated permissions,而不是 Application permissions。即使权限名中包含 All,委派访问仍受用户访问权限限制。
点击 Grant admin consent for 您的组织,并确认所选权限显示为已授予。这样员工便可使用已批准的访问权限,无需自己授予组织权限。Microsoft 仍可能要求再次登录、MFA 或重新同意,具体取决于您的策略。
4. 将应用在两个位置连接到 AI 环境
请让平台管理员选择正确的环境并执行以下设置:
- 在 Admin → 环境 → Tenant:启用登录方式 Microsoft,并在 Microsoft ID 中填写 Directory (tenant) ID。
- 在 Google Cloud → Identity Platform → 相应 tenant → Identity providers → Microsoft:启用该提供程序,并填写同一 Entra 应用的 Application (client) ID 和 client secret Value。
Identity Provider 属于您 AI 环境的 Firebase/Identity Platform tenant,而不是其他组织或通用 Admin 环境。工作账户集成会重新使用此提供程序中的应用。客户端密钥不应出现在用户偏好设置、聊天消息或普通环境字段中。
请通过安全渠道向平台管理提供组织名称、品牌、Directory ID、client ID、secret value、到期日期以及所需的集成/权限。仅有应用 ID 并不够。
5. 放开集成和写入操作
打开 您的组织管理环境 → 工具 → MCP。在 套件快捷方式 中启用 Microsoft 365 集成。Microsoft 行会显示出来;当整个套件关闭时,这些行会保持隐藏。
按集成逐项决定是否可用。在 写入操作 列中分别选择:
- Outlook Mail → 草稿: 创建和修改草稿。
- Outlook Mail → 发送: 实际发送现有草稿。
- Outlook 日历 → 写入: 创建和修改约会。
- Microsoft Teams → 发帖: 在选定的 Teams 频道中发布文本消息。
点击 保存。写入操作仅在以下条件同时满足时才可用:集成已开启、相应管理权限已开启、Microsoft 已授予所需权限,且用户已在个人层面启用该连接。用户无需额外填写写入权限表单。
这些设置也必须受到您品牌后端的支持。此写入扩展已于 2026 年 10 月 7 日面向 OnderwijsSupport 在 AI-Corporate 上正式发布并测试。这并不意味着同样的扩展已对 AI-School、AI-Public 或其他任何环境开放。若缺少写入操作,请向平台管理确认。
6. 检查配置
让用户登录到正确的 AI 环境,并按照 使用 Microsoft 集成 启用所需集成。确认 Microsoft 显示的是您自己的 Entra 应用名称。
先测试一个易于识别的草稿和一个不含参与者的约会。检查 Outlook 中保存的项目。然后使用约定的测试收件人测试发送,以及在约定的测试频道中测试 Teams 发帖。带有参与者的约会可能会发送邀请或更新。已接受的发送操作并不代表已确认送达。
当权限扩展时,连接会尝试刷新令牌。如果 Microsoft 需要重新登录或重新授权,请让用户重新连接现有连接。无需创建第二个应用或单独的用户设置。
故障排除
| 问题 | 检查 |
|---|---|
AADSTS50011 / redirect 不匹配 | 两个回调是否都已按正确品牌、并以 Web 精确注册。 |
| 授权时出现其他应用名称 | 检查正确的 AI 环境、Directory ID 和 tenant 专用 Microsoft Identity Provider;然后重新连接。 |
| 登录正常,但集成不行 | 同时检查 connector 回调、Graph 权限和组织同意。 |
| 能读取,不能写入 | 检查管理权限、对应的 delegated Graph 权限、已授予同意,以及后端可用性。 |
| 客户端密钥无效或已过期 | 检查 Value,不是 Secret ID;并在 Identity Provider 中更新新密钥。 |
| 用户看不到集成 | 检查 工具 中的可用性、用户连接权限,以及所选 AI 环境。 |
更多信息
中央 SharePoint 知识库:Microsoft 设置
集中连接的文件夹通过组织应用运行,无需每位员工都启用个人 SharePoint 连接。为此需要两个单独的授权:带有 admin consent 的应用权限 Sites.Selected,以及在所选 SharePoint 站点上的 read 授权。仅有可用的 Microsoft 登录或只有 admin consent 并不够。
1. 检查组织应用
使用与您 AI 环境中的 Microsoft 登录相同的 single-tenant app registration。现有应用可以扩展,不需要第二个集成应用。请在 Microsoft Entra → App registrations → 您的应用 → Overview 中检查 Directory (tenant) ID 和 Application (client) ID。下面使用 client ID,而不是 Object ID。
Directory ID 必须位于 Admin → 环境 → Tenant → Microsoft ID。client ID 和有效客户端密钥的 Value 必须位于恰好该 AI 环境的 Microsoft Identity Provider 中。该配置由平台管理维护。过期的密钥也会阻止中央导入;请跟踪到期日期。
中央服务器连接使用 client_credentials,不需要额外的重定向 URL。用于登录和个人工作账户集成的现有 Web redirects 仍然需要;请使用本文前表中的品牌 URL。
2. 添加应用权限并授予 admin consent
- 打开 API permissions → Add a permission → Microsoft Graph → Application permissions。
- 搜索 Sites.Selected,选择该权限并点击 Add permissions。
- 让有权限的 Entra 管理员执行 Grant admin consent for 您的组织。
- 确认 Sites.Selected,类型 Application,显示为已授予。
用于个人 Outlook、Teams 和 SharePoint 连接的委派权限可以保留在同一应用上。它们不会替代中央知识库所需的应用权限。此中央导入不需要应用权限 Sites.Read.All、Sites.ReadWrite.All 或 Sites.FullControl.All。
3. 单独授予应用对该站点的读取访问权限
此管理操作可通过 Microsoft Graph Explorer 完成。请使用同一 Microsoft 目录中的管理员账户,并具备 SharePoint Administrator 或更高且合适的管理员角色,以及对该站点的访问权限。Azure 订阅角色或仅拥有该应用并不足够。
- 使用 Graph Explorer 登录管理员账户并检查显示的组织。
- 打开您的 profile menu → Consent to permissions,搜索 Sites.FullControl.All,并选择 Consent,以在此管理上下文中授予 Graph Explorer 所需权限。对于某些查询,您也可以通过 Modify Permissions → Open the permissions panel 打开完整权限面板。这是用于管理站点授权的 delegated 管理权限;不要将其作为知识库应用上的宽泛应用权限添加。如果不需要对所有用户进行组织同意,请使用基于账户的同意。
- 使用下面的 GET 查找站点 ID。将示例主机和站点路径替换为您自己文件夹对应的值。如果 URL 使用
/teams/,请用该路径代替/sites/。
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl
响应中的 id 值是完整的站点 ID,包括主机名和两个 GUID。也请检查 displayName 和 webUrl:授权必须授予实际存放您文件夹的站点。
- 先使用下面地址的 GET 检查现有授权。如果您的 client ID 已存在且角色为
read,则无需再创建第二个授权。请让您的 Microsoft 管理员评估现有更宽泛或不同的授权。
GET https://graph.microsoft.com/v1.0/sites/SITE-ID/permissions
- 如果没有该授权,请选择 POST,使用相同地址,并在 Request Body 中填入以下 JSON。请替换两个示例值;
CLIENT-ID-VAN-UW-APP是您集成应用的 Application (client) ID,不是 Graph Explorer 应用的 ID。
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
- 选择 Run query。成功添加会返回 201 Created。检查响应中的
read角色和 client ID;Graph 可能会在grantedToIdentitiesV2下显示它们。随后再次用 GET 检查。请保留该 permission ID 以便管理和日后撤销。 - 仅对每一个您明确希望关联知识库文件夹的其他站点重复此操作。
Microsoft 授权会让应用对整个所选站点拥有读取权限。AI 环境只会导入所选文件夹及其子文件夹。最好使用单独的站点来集中共享知识。现有知识库权限决定哪些用户能接收导入的文档;不会继承单独的 SharePoint 权限。
4. 连接文件夹并检查结果
打开 管理 → 知识库 → 添加 → SharePoint 文件夹 → 连接文件夹,并使用真实的文件夹 URL,不要使用邀请链接或 OneDrive 概览地址。按照 知识库手册 选择范围、目标受众和发布状态。中央来源不需要在用户偏好中配置个人连接器。
使用 刷新 检查文档是否已成功处理且无错误。使用 立即同步 进行再次检查,然后针对已导入文档提出一个具体的聊天问题。确认回答中提到了正确的中央知识来源。
| 问题 | Microsoft 侧检查 |
|---|---|
| 登录正常,但中央文件夹不行 | Sites.Selected 必须是 Application 类型且已授予 admin consent;同时检查单独的站点授权。 |
访问文件夹时出现 403 Forbidden | 检查正确的 Microsoft 目录、站点 ID、client ID 和 read 授权;admin consent 并不会自动授予站点访问权。 |
在 Graph Explorer 中执行管理操作时出现 403 | 检查 delegated Sites.FullControl.All、已授予的权限、管理员角色以及对目标站点的访问。不要通过给集成应用添加宽泛权限来解决。 |
| 站点可用,但未找到文件夹 | 检查真实的文件夹 URL、文档库和站点路径;OneDrive 快捷方式可能指向另一个站点。 |
| 密钥已过期或无效 | 让平台管理在正确的 Microsoft Identity Provider 中更新新的 secret Value。 |
对于 AI-Corporate 上的 OnderwijsSupport,此中央连接已于 2026 年 10 月 14 日发布并测试。AI-School、AI-Public 或其他环境中的可用性需由平台管理确认。
Microsoft 文档:Selected permissions、添加 sitegrant 和 检查 sitegrants。