跳转到主内容

为您的环境设置 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-Schoolhttps://ai-school-pro.firebaseapp.com/__/auth/handlerhttps://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth
AI-Corporatehttps://ai-corporate.firebaseapp.com/__/auth/handlerhttps://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth
AI-Publichttps://ai-public-pro.firebaseapp.com/__/auth/handlerhttps://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 TeamsChat.Read、ChannelMessage.Read.All发帖: Team.ReadBasic.All、Channel.ReadBasic.All、ChannelMessage.Send。
SharePoint / OneDriveSites.Read.All、Files.Read.All此工作账户集成不提供写入操作。

Mail.ReadWrite 不包含发送权限;发送需要单独的 Mail.Send。Teams 发帖会在所选频道中写入文本消息,不是私人聊天消息。此集成应使用 Delegated permissions,而不是 Application permissions。即使权限名中包含 All,委派访问仍受用户访问权限限制。

点击 Grant admin consent for 您的组织,并确认所选权限显示为已授予。这样员工便可使用已批准的访问权限,无需自己授予组织权限。Microsoft 仍可能要求再次登录、MFA 或重新同意,具体取决于您的策略。

4. 将应用在两个位置连接到 AI 环境​

请让平台管理员选择正确的环境并执行以下设置:

  1. 在 Admin → 环境 → Tenant:启用登录方式 Microsoft,并在 Microsoft ID 中填写 Directory (tenant) ID。
  2. 在 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 的应用权限,以及在应用可读取的那个文件夹(或站点)上的 read 授权。仅有可用的 Microsoft 登录或只有 admin consent 仍不会带来访问权限。

有两种方式。每个关联的文件夹只选择一种方式;AI 环境绝不会自动退回到另一种方式。

文件夹授权(推荐)站点授权
应用权限Files.SelectedOperations.SelectedSites.Selected
授权对象文档库中所选的文件夹整个站点
应用可读取的内容此文件夹及继承该授权的子文件夹站点的所有文档库和文件夹
现有 SharePoint 结构保持不变;无需单独的站点最好为共享知识使用单独的站点
对 SharePoint 的影响文件夹的权限继承会被中断(见下文)不影响继承

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。

  1. 打开 API permissions → Add a permission → Microsoft Graph → Application permissions。
  2. 搜索 Files.SelectedOperations.Selected(文件夹授权)或 Sites.Selected(站点授权),选择该权限并点击 Add permissions。
  3. 让有权限的 Entra 管理员执行 Grant admin consent for 您的组织。
  4. 确认该权限,类型 Application,显示为已授予。

知识库应用只需要读取权限。不要为其授予应用权限 Sites.Read.All、Files.Read.All、Sites.ReadWrite.All、Files.ReadWrite.All 或 Sites.FullControl.All。这类宽泛权限会提供所选文件夹之外的访问,并掩盖缺失或已撤销的文件夹授权。如果选择文件夹授权,也请删除之前添加的 Sites.Selected 及相应的站点授权,使文件夹授权成为唯一的边界。当应用拥有此类额外权限时,AI-School 中的来源列表会显示警告。

用于个人 Outlook、Teams 和 SharePoint 连接的委派权限可以保留在同一应用上。它们不会替代中央知识库所需的应用权限。

3. 授予应用对文件夹或站点的读取访问权限​

此管理操作可通过 Microsoft Graph Explorer 完成。请使用同一 Microsoft 目录中的管理员账户,并具备 SharePoint Administrator 或更高且合适的管理员角色,以及对该站点的访问权限。Azure 订阅角色或仅拥有该应用并不足够。

  1. 使用 Graph Explorer 登录管理员账户并检查显示的组织。
  2. 打开您的 profile menu → Consent to permissions,搜索 Sites.FullControl.All,并选择 Consent。这是供 Graph Explorer 管理授权的 delegated 管理权限;不要将其作为应用权限添加到知识库应用上。如果不需要对所有用户进行组织同意,请使用基于账户的同意。
  3. 查找文件夹的 drive ID 和 item ID。在 AI-School 的关联表单中,一旦填入文件夹 URL,就会显示现成的 GET 命令。您也可以自行组合:将文件夹 URL 编码为 base64url(末尾不带 =),并在前面加上 u!。
GET https://graph.microsoft.com/v1.0/shares/u!GECODEERDE-MAP-URL/driveItem?$select=id,name,webUrl,parentReference

在响应中,id 是文件夹的 item ID,parentReference.driveId 是文档库的 drive ID(以 b! 开头)。请检查 name 和 webUrl:这必须是您要共享的文件夹。如果 share 命令不起作用,请使用文档库和路径:

GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite:/drives?$select=id,name,webUrl
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/root:/Pad/Naar/Map?$select=id,name,webUrl
  1. 先检查该文件夹上的现有授权。如果您的 client ID 已存在且角色为 read,则无需再创建第二个授权。
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions
  1. 如果没有该授权,请在同一地址上选择 POST,并在 Request Body 中填入以下 JSON。CLIENT-ID-VAN-UW-APP 是您集成应用的 Application (client) ID,不是 Graph Explorer 应用的 ID。只能使用角色 read。
{
"roles": ["read"],
"grantedToV2": {
"application": {
"id": "CLIENT-ID-VAN-UW-APP"
}
}
}
  1. 选择 Run query。成功添加会返回 201 Created。检查响应中的 read 角色和 client ID,并保存 permission ID(id),以便日后检查或撤销。
  2. 仅对每一个您明确希望关联的其他文件夹重复此操作。每个关联的文件夹都有自己的授权。
文件夹授权会中断继承

Microsoft 会中断您设置应用授权的文件夹上的权限继承。此时文件夹现有的用户权限会被复制,但之后对上级站点或文档库权限的更改将不再自动应用于此文件夹。因此,请在授予后检查该文件夹的用户权限,并今后直接在该文件夹上管理它们。请注意 Microsoft 对每个文档库唯一权限数量的限制。不要将文件夹恢复为继承权限:这样应用的授权也会随之消失。

具有自身权限的子文件夹和文件。 继承所选文件夹权限的子文件夹和文件都在授权范围内。如果某个子文件夹或文件具有不包含该应用的自身(已中断继承的)权限,应用就无法读取它。AI-School 会完全跳过这样的子文件夹,并在来源列表中显示其数量;之前从中导入的文档会被撤回。相邻的文件夹或其他文档库永远无法读取。

站点授权(替代方式)​

如果使用 Sites.Selected,请通过 GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl 查找站点 ID,通过 GET .../sites/SITE-ID/permissions 检查现有授权,并在需要时通过对同一地址执行 POST 添加授权:

{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}

站点授权会让应用对整个站点拥有读取权限。AI-School 只导入所选文件夹,但这一筛选并不是 Microsoft 的授权边界。

4. 连接文件夹并检查结果​

打开 管理 → 知识库 → 添加 → SharePoint 文件夹 → 连接文件夹。填入真实的文件夹 URL,即从文档库或 OneDrive 的地址栏复制的地址(不要使用邀请链接),并在 组织应用的 Microsoft 访问权限 中选择文件夹授权或站点授权。使用文件夹授权时,请填入第 3 步中的 drive ID 和 item ID。这样 AI-School 只会读取该文件夹,并检查文件夹 URL 是否与这些 ID 对应;如不一致,关联将被拒绝。也可以关联 OneDrive for Business 中的文件夹,但它属于某一位员工:该员工离职后,文件夹会随之消失,知识来源也随之失效。如需长期保存知识,建议使用 SharePoint 站点。按照 知识库手册 选择范围、目标受众和发布状态。

使用 刷新 检查文档是否已成功处理且无错误。使用 立即同步 进行再次检查,然后针对已导入文档提出一个具体的聊天问题。确认回答中提到了正确的中央知识来源。

Microsoft 访问权限和知识库权限是两回事

授权决定应用可以读取哪个文件夹。哪些用户能获得导入的文档,则由 AI-School 中的知识库权限(学校、目标受众、部门)决定。不会继承单独的 SharePoint 权限。因此,只应将非公开的部门或团队内容与同样非公开的知识库目标受众关联。

5. 撤销授权​

通过对 https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions/PERMISSION-ID 执行 DELETE 删除授权(站点授权:.../sites/SITE-ID/permissions/PERMISSION-ID)。撤销 admin consent 会同时阻止应用的所有授权。

在下一次检查时,AI-School 将无法再访问该文件夹。届时该来源的所有文档都不再提供,聊天回答中也不会使用,来源列表会显示 Microsoft 拒绝了访问。这不会立即发生:自动检查每 15 分钟运行一次,每轮最多处理 20 个来源,因此来源越多,所需时间越长。如需立即生效,请使用 立即同步 或 断开连接。被移动或删除的文件夹同样如此。

问题Microsoft 侧检查
登录正常,但中央文件夹不行应用权限必须是 Application 类型且已授予 admin consent;同时检查文件夹或站点上的单独授权。
“Microsoft 拒绝访问该文件夹”检查正确的 Microsoft 目录、drive ID、文件夹 ID、client ID 和 read 授权;该文件夹是否已被移动、删除或恢复为继承权限?
授权存在,但关联被拒绝文件夹 URL 与填入的 ID 不对应。请从文档库重新复制 URL,并检查 Graph 响应中的 webUrl。
关于额外权限的警告删除宽泛的应用权限;使用文件夹授权时,还要删除 Sites.Selected 及站点授权。
子文件夹被跳过这些子文件夹具有不包含该应用的自身权限。让它们继承权限,或有意为其单独授予 read 授权。
在 Graph Explorer 中执行管理操作时出现 403检查 delegated Sites.FullControl.All、已授予的权限、管理员角色以及对该站点的访问。不要通过给集成应用添加宽泛权限来解决。
“组织应用无法登录 Microsoft”让平台管理在正确的 Microsoft Identity Provider 中更新新的 secret Value;检查 admin consent。

对于 AI-Corporate 上的 OnderwijsSupport,使用站点授权的中央连接已于 2026 年 10 月 14 日发布并测试。文件夹授权将在相应版本发布后可用。AI-School、AI-Public 或其他环境中的可用性需由平台管理确认。

Microsoft 文档:Selected permissions、在文件夹上添加授权、编码共享 URL 和 添加站点授权。