> 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.

# SharePoint

> 使用 Microsoft 应用凭据配置 SharePoint Site、Library、Folder、Page 与 Document 索引。

## 索引内容

SharePoint 连接器可以索引 SharePoint Library 中的文档和 `.aspx` Site Page。可以通过 URL 配置整个 Site、一个 Library 或一个 Folder。没有提供 Site URL 时，连接器会发现租户 Site；全租户发现要求应用可读取所有 Site，而各个 Site 仍可能拒绝内容访问。

| 设置               | 索引效果                                                                                                       |
| ---------------- | ---------------------------------------------------------------------------------------------------------- |
| Sites            | `/sites/` 或 `/teams/` 下的完整 `https://` SharePoint URL；附带 Library 或 Folder 路径会缩小所选 Site 的范围。留空表示全租户 Site 发现。 |
| Index Documents  | 纳入所选 Library 或 Folder 中受支持的文件。                                                                             |
| Index ASPX Sites | 纳入每个所选 Site 的 Site Page，即使提供的是 Library 或 Folder URL。                                                       |
| Excluded Sites   | 永远不索引的精确 URL 或 Glob 模式。                                                                                    |
| Excluded Paths   | 针对每个相对文档路径和文件名匹配的 Glob 模式。                                                                                 |

**Index Documents** 和 **Index ASPX Sites** 必须至少启用一项。当前 Site 路径映射可识别英语、西班牙语和德语 SharePoint Site 使用的内置 Shared Documents Library 名称。

## 前置条件

* 在正确租户中创建 Microsoft Entra 应用注册，并为列出 Site 和读取所选内容需要的 Application Permission 授予管理员同意。
* 记录应用 Client ID 和 Directory (Tenant) ID。认证方式选择 Client Secret 或 PFX Certificate。
* 同步源权限时，应用还需要 SharePoint `Sites.FullControl.All` 来枚举 Role Assignment，以及 Microsoft Graph `GroupMember.Read.All` 或等效 Directory Permission 来展开用户组。
* 使用完整 SharePoint URL。连接器会拒绝非 HTTPS URL，以及不包含 `/sites/<NAME>` 或 `/teams/<NAME>` 的 URL。
* 政府云部署必须设置匹配的 Authority Host 与 Graph API Host；OpenCore 会根据该环境解析对应的 SharePoint Domain Suffix。

## 凭据

| 方式            | OpenCore 凭据值                                                                                                                          | 权限同步支持                                    |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| Client Secret | `sp_client_id: <CLIENT_ID>`、`sp_client_secret: <CLIENT_SECRET>`、`sp_directory_id: <DIRECTORY_ID>`                                     | Admin UI 会为该认证方式禁用 Auto Sync Permissions。 |
| Certificate   | `sp_client_id: <CLIENT_ID>`、`sp_directory_id: <DIRECTORY_ID>`、`sp_certificate_password: <PFX_PASSWORD>`，以及上传的 `sp_private_key` PFX 文件 | 当部署和应用权限提供该能力时，支持 Auto Sync Permissions。  |

SharePoint 连接器未实现 OAuth。请在 Admin 后台创建应用凭据，并按组织的正常流程轮换 Secret 或 Certificate。

## 在 OpenCore 中配置

1. 在 Admin 后台打开 **Connectors**，选择 **SharePoint**，然后创建 Client Secret 或 Certificate 凭据。
2. 添加已批准的 Site、Library 或 Folder URL。只有明确计划并批准全租户发现时才将列表留空。
3. 启用文档、Site Page 或二者。
4. 在首次广范围抓取前添加排除 Site 和路径模式。
5. 除非租户使用受支持的政府云，否则保留标准 Authority、Graph 和 Domain 值。
6. 除非已明确批准匿名或组织范围链接让所有 OpenCore 账号看到内容，否则保持 **Treat sharing links as public** 关闭。
7. 选择受支持的文档访问模式，创建连接器，然后运行首次索引尝试。

## 权限

当 **Auto Sync Permissions** 可用时，请使用 Certificate 认证并授予上述两类权限。OpenCore 随后会读取 SharePoint Role Assignment、展开 Microsoft Entra 用户组，并把源访问规则附加到文档与 Site Page。若所配置 Site 拒绝 Role Assignment 访问，或 Graph 拒绝用户组枚举，权限探测可能阻止连接器创建。

当前 Admin UI 中，Client Secret 认证无法选择 Auto Sync Permissions。同步不可用或未选择时，搜索不会自动执行源权限；请选择 **Private** 并显式分配 OpenCore 用户组，或仅对已批准所有账号访问的内容使用 **Public**。启用 **Treat sharing links as public** 会有意把匿名或组织范围共享链接扩大为 OpenCore 公开访问。

## 验证

1. 确认凭据验证能够获取 Microsoft Graph Application Token。
2. 运行索引尝试；如果两类内容都启用，验证一个预期文档和一个预期 Site Page。
3. 确认被排除的 Site、路径和不受支持文件没有出现。
4. 检查 Folder URL 没有抓取同一 Library 中的同级 Folder。
5. 如果选择了 Auto Sync Permissions，分别测试获准用户、被拒用户和通过 Microsoft Entra 用户组获得成员资格的用户。

## 故障排除

| 现象                        | 检查项                                                                                           |
| ------------------------- | --------------------------------------------------------------------------------------------- |
| Site URL 被拒绝              | 使用包含 `/sites/<NAME>` 或 `/teams/<NAME>` 的完整 HTTPS SharePoint URL。                              |
| 全租户发现没有返回可用 Site          | 授予所需的 Site Read Application Permission，并验证每个目标 Site 的内容访问。                                    |
| Auto Sync Permissions 被禁用 | 从 Client Secret 切换到 Certificate 认证，并创建 Certificate 凭据。                                        |
| Role Assignment 验证失败      | 授予并同意 SharePoint `Sites.FullControl.All`；使用 `Sites.Selected` 时，还需在每个 Site 上授予应用 Full Control。 |
| 用户组展开失败                   | 授予 `GroupMember.Read.All` 或经批准的等效 Microsoft Graph Directory Permission，并重新执行管理员同意。            |
| 政府云认证失败                   | 使用互相匹配的 Authority 与 Graph Host；不要混用商业云和政府云 Endpoint。                                          |

## 相关页面

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