> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.alephant.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.alephant.io/_mcp/server.

# Microsoft Teams

> 使用 Microsoft 应用凭据配置 Microsoft Teams 频道消息串索引与权限处理。

## 索引内容

Microsoft Teams 连接器会索引根据所配置 Display Name 提示解析出的 Team 频道对话。每条频道根消息及其回复会成为一个可搜索文档。它不会索引 Team 频道之外的一对一 Chat 或 Group Chat。

| 设置             | 索引效果                                                                                                            |
| -------------- | --------------------------------------------------------------------------------------------------------------- |
| Teams          | 输入一个或多个 Team Display Name 提示。安全名称使用 OData 查询；名称含特殊字符时直接使用分页客户端过滤，OData 失败时也会回退到该过滤。回退只要至少命中请求名称中 70% 的显著词就可能匹配。 |
| Authority Host | 用于获取 Application Token 的 Microsoft Identity Host。                                                               |
| Graph API Host | 用于列出 Team、Channel、Message、Reply、Member 和 User 的 Microsoft Graph Host。                                           |

当前运行时要求至少提供一个 Team 名称。即使旧版 Admin 表单帮助文本称留空会索引所有 Team，留空在当前代码中也会返回零个 Team，因而不会索引任何内容。由于回退匹配较宽松，Display Name 提示不是精确允许列表，也可能解析出额外 Team。

## 前置条件

* 在源租户中创建 Microsoft Entra 应用注册。
* 为列出 Team 和 Channel、读取频道 Message 和 Reply、枚举 Channel Member 以及解析成员身份所需的 Application Permission 授予管理员同意。
* 记录应用 Client ID、Client Secret 和 Directory (Tenant) ID。
* 准备至少一个目标 Team Display Name 作为查询提示。连接器使用名称而不是 ID；Display Name 不保证唯一，客户端回退期间还可能进行宽松匹配。
* 政府云部署必须使用匹配的 Microsoft Authority 和 Graph API Host。

## 凭据

| 方式                                  | OpenCore 凭据值                                                                                               | 说明                                           |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| Microsoft Application Client Secret | `teams_client_id: <CLIENT_ID>`、`teams_client_secret: <CLIENT_SECRET>`、`teams_directory_id: <DIRECTORY_ID>` | 连接器会对所配置 Graph 环境使用 Client Credentials Flow。 |

Microsoft Teams 索引连接器未实现 OAuth。请通过组织的正常凭据流程创建和轮换 Application Secret。

## 在 OpenCore 中配置

1. 在 Admin 后台打开 **Connectors**，选择 **Microsoft Teams**，然后创建应用凭据。
2. 输入至少一个 Team Display Name 提示。把这些值视为发现提示而不是严格允许列表，因为客户端回退会接受 70% 的显著词匹配。
3. 除非租户位于受支持政府云，否则保留商业云 Authority 与 Graph Host。
4. 选择部署提供的文档访问模式。选择 **Auto Sync Permissions** 前，先评估下文所述的标准频道 Public 行为。
5. 设置刷新和清理选项，创建连接器，然后运行首次索引尝试。
6. 将文档集附加给 Agent 前，审查首次索引实际解析出的每个 Team 及其 Channel。

## 权限

当 **Auto Sync Permissions** 可用且已选择时，它并不完整执行 Team 成员关系。标准频道（`membershipType: standard`）会对所有 OpenCore 用户全局 Public，因此这些频道不会执行源 Team 成员限制。只有非标准频道才会限制为 Microsoft Graph 返回且可解析出 Email 的成员；无法解析 Email 的成员不会进入访问列表。

Auto Sync Permissions 不可用或未选择时，搜索不会自动执行源 Team 和 Channel 成员关系。对于受限 Team，请使用 **Private** 并显式分配 OpenCore 用户组；只有当所有 OpenCore 账号都可搜索全部已索引频道消息串时，才使用 **Public**。

## 验证

1. 确认凭据验证能够访问 Teams Endpoint。
2. 运行首次索引尝试并检查首次索引实际解析出的每个 Team，包括配置提示之外未预期到的 Team。
3. 搜索一条频道根消息以及其中一条回复的文本。
4. 确认 Team 频道之外的 Chat 不存在，并检查解析范围中是否有宽松匹配导致的意外 Team。
5. 如果选择了 Auto Sync Permissions，确认源 Team 之外的 OpenCore 用户可以搜索标准频道；仅对非标准频道使用获准和被拒用户测试权限。

## 故障排除

| 现象                    | 检查项                                                                                      |
| --------------------- | ---------------------------------------------------------------------------------------- |
| 验证返回 401              | 检查 Client ID、Client Secret、Directory ID、Authority Host 和 Secret 有效期。                     |
| 验证或索引返回 403           | 为失败 Endpoint 所需的 Microsoft Graph Application Permission 授权并完成管理员同意。                      |
| 索引尝试不包含 Team          | 至少添加一个 Team Display Name；空列表在当前运行时没有匹配结果。                                                |
| 找不到名称包含 `&` 或括号的 Team | 检查 Display Name 提示和分页客户端查询；搜索会在安全上限处停止。                                                  |
| 索引了意外 Team            | 客户端回退会接受不区分大小写且至少命中 70% 显著词的名称。缩小提示范围、重新索引，并检查每个实际解析出的 Team。                             |
| 源 Team 之外的用户可以搜索标准频道  | 这是当前 Auto Sync 行为：标准频道在 OpenCore 中会变为全局 Public。如果无法接受这种暴露，请使用更严格的 OpenCore 访问模式或不要索引该内容。 |
| 受限用户无法搜索本应获准的频道       | 检查 Graph 是否返回该频道成员的 Email 或可解析 User Principal Name，然后重新运行权限同步。                           |
| 政府云认证失败               | 使用同一 Microsoft 环境中互相匹配的 Authority 和 Graph Host。                                          |

## 相关页面

* [连接器与索引](/opencore/knowledge/connectors)
* [索引设置](/opencore/knowledge/index-settings)