SharePoint
关于 ONLYOFFICE 和 SharePoint 的集成
要在 SharePoint 协作平台中编辑文档,您可以通过官方 ONLYOFFICE 连接器或 WOPI 将 ONLYOFFICE 文档与您的文档库集成。欲了解更多信息,请访问 ONLYOFFICE 到 SharePoint 连接器的 GitHub 页面。该连接器根据 AGPL-3.0 许可证分发。
要了解有关 ONLYOFFICE SharePoint 连接器如何工作的更多信息,请访问我们的 API 文档页面。
连接方式
ONLYOFFICE 文档可以通过两种方式连接到 SharePoint:官方连接器或 WOPI。两种方式都允许直接在 SharePoint 中编辑文档,但支持的功能和格式有所不同。
我们强烈建议只选择一种安装方式。如果同时使用两种方式进行安装,协作功能和文档保存可能无法按预期工作。
功能比较
| 功能 | 官方连接器 | WOPI |
|---|---|---|
| 从上下文菜单 / 功能区编辑文档 | ✓ (在 ONLYOFFICE 中打开) | ✓ (点击文件 / 上下文菜单 → 打开 → 在 office online 中打开) |
| 快速协作模式 | ✓ | ✓ |
| 严格协作模式 | ✓ | ✗ 1 |
| 变更跟踪 | ✓ | ✗ |
| 评论、内置聊天 | ✓ | ✓ |
| 版本历史 | ✗ | ✗ |
| 邮件合并 | ✓ | ✓ |
| 从存储中插入图像 | ✗ | ✗ |
| 比较文档 | ✓ | ✗ |
1 使用 WOPI 时,严格协作模式可能会对访问令牌参数产生负面影响。
使用 WOPI 时,访问令牌在一段时间后会过期。将 access_token_ttl 属性设置为 10 小时以用于快速协作模式。
支持的格式
官方连接器:
- 可查看和编辑:DOCM、DOCX、DOTM、DOTX、PDF、POTM、POTX、PPSM、PPSX、PPTM、PPTX、XLSB、XLSM、XLSX、XLTM、XLTX
- 仅可查看:CSV、DJVU、DOC、DOT、DPS、DPT、EPUB、ET、ETT、FB2、FODP、FODS、FODT、HML、HTM、HTML、HWP、HWPX、KEY、MD、MHT、MHTML、NUMBERS、ODG、ODT、ODP、ODS、OTT、OTP、OXPS、PAGES、POT、PPS、PPT、RTF、STW、SXC、SXI、SXW、TXT、VSDM、VSDX、VSSM、VSSX、VSTM、VSTX、WPS、WPT、XLS、XLT、XML、XPS
WOPI:
- 可查看和编辑:DOCX、XLSX、PPTX、DOCM、XLSM、PPTM、ODT、ODS、ODP、CSV、PDF
- 仅可查看:DJVU、XPS
可用的格式取决于您的 ONLYOFFICE 文档版本和所选的连接方式。
版本 3.1.0 的新功能
已更改
- 新增支持的格式
完整的变更日志可在此处查看。
使用官方连接器
要求
- ONLYOFFICE 文档服务器 v7.1(服务器或云版本)或更高版本。该实例必须可以从 SharePoint 和任何终端客户端解析和连接,并且必须能够直接向 SharePoint 发送 POST 请求。请参阅官方文档页面以了解有关安装 ONLYOFFICE 文档的更多信息。
- SharePoint 2019
- ONLYOFFICE SharePoint 连接器 3.1.0
安装和配置
ONLYOFFICE SharePoint 集成解决方案是一个官方的 ONLYOFFICE 连接器,可在 GitHub 页面上根据 GNU AGPL v.3 许可证获得。
要了解它如何工作以及如何编译该解决方案,请访问我们的 API 文档。
-
点击开始,指向所有程序,指向管理工具,然后点击服务,确保 SharePoint 管理服务已启动。
-
点击开始,打开 SharePoint 管理 Shell,并导航到包含 .wsp 文件的目录。
-
运行 Install.ps1 脚本:
PS> .\Install.ps1 -
输入您的 SharePoint 站点地址:
https://<yoursharepointsite>替代步骤 3 和 4,您可以输入以下命令:
Add-SPSolution -LiteralPath<solutionpath>/onlyoffice.wsp在 SharePoint 中央管理主页上,点击系统设置 → 场管理 → 管理场解决方案。在解决方案管理页面上,点击 onlyoffice.wsp,然后点击部署解决方案。
-
在 SharePoint 中央管理主页上,在应用程序管理下,点击管理 Web 应用程序。
-
确保选择您的站点并点击身份验证提供程序图标。
-
在身份验证提供程序弹出窗口中,点击默认区域。
-
在编辑身份验证下,勾选启用匿名访问并点击保存。
-
返回到 Web 应用程序管理,点击匿名策略图标。
-
在匿名访问限制下,选择您的区域并设置权限为无 – 否策略并点击保存。
-
在 SharePoint 中,打开具有管理设置的
/_layouts/15/Onlyoffice/Settings.aspx页面。输入以下地址:https://<documentserver>/其中 documentserver 是安装了 ONLYOFFICE 文档的服务器名称。该地址必须对用户浏览器和 SharePoint 服务器可访问。SharePoint 服务器地址也必须对 ONLYOFFICE 文档可访问以确保正确工作。
如果您在 SharePoint 中设置了子站点,您需要另外配置 ONLYOFFICE 文档与每个子站点的连接。转到每个子站点设置并在适当的字段中输入文档地址。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您还需要在 SharePoint 端启用它:在 ONLYOFFICE 文档配置文件中找到您的密钥,然后在 SharePoint 管理设置中指定相同的密钥。有关详细信息,请参阅下面的启用 JWT 部分。
如果启用了 JWT 保护,必须指定自定义头名称,因为 SharePoint 安全策略会阻止外部 'Authorization' 头。此头也应在 ONLYOFFICE 文档签名设置中指定(更多信息请参见此处)。
编译解决方案
有两种方法可以编译 ONLYOFFICE SharePoint 集成解决方案:
-
使用 MS Visual Studio:
- 输入 SharePoint 服务器并在 Visual Studio 中打开此项目。
- 在解决方案资源管理器中,打开项目的快捷菜单,然后选择发布。
- 在发布对话框中,选择发布到文件系统选项按钮。
- 点击发布按钮。当发布过程完成时,将创建解决方案 .wsp 文件。
- 将生成的文件复制到包含 Install.ps1 文件的文件夹(默认情况下为 BuildAndInstall 文件夹)。
-
使用 build.bat 文件:
- 转到 BuildAndInstall 文件夹。
- 运行 build.bat 文件。
- 生成的解决方案 .wsp 文件将被创建并放置到 BuildAndInstall 文件夹中。
工作原理
ONLYOFFICE 集成遵循此处记录的 API。
-
用户导航到 SharePoint 中的文档,并在上下文菜单或功能区中选择在 ONLYOFFICE 中编辑操作。
-
SharePoint 向编辑器页面发出请求(URL 形式为:
/_layouts/15/Onlyoffice/editorPage.aspx?SPListItemId={ItemId}&SPListURLDir={ListUrlDir}&action=track)。 -
SharePoint 准备一个包含以下属性的 JSON 对象:
- url - ONLYOFFICE 文档用于下载文档的 URL;
- callbackUrl - ONLYOFFICE 文档通知文档编辑状态的 URL;
- DocumentSeverHost - 客户端需要回复 ONLYOFFICE 文档服务器的 URL(可以在设置页面中设置);
- Key - 来自 SharePoint 的文件标识符;
- FileName - 文档标题(名称);
- CurrentUserId - 用户标识符;
- CurrentUserName - 用户名。
-
SharePoint 构建一个页面,填充所有这些值,以便客户端浏览器可以加载编辑器。
-
客户端浏览器向 ONLYOFFICE 文档的 JavaScript 库发出请求,并向 ONLYOFFICE 文档发送带有上述属性的 DocEditor 配置。
-
然后 ONLYOFFICE 文档从 SharePoint 下载文档,用户开始编辑。
-
当所有用户和客户端浏览器完成编辑时,他们关闭编辑窗口。
-
在 10 秒不活动后,ONLYOFFICE 文档向
callbackUrl发送 POST 请求,通知 SharePoint ONLYOFFICE 解决方案客户端已完成文档编辑并关闭。 -
SharePoint 下载新版本的文档,替换旧版本。
要了解更多常见问题及其解决方法,请访问我们的故障排除指南。
启用 JWT
为了保护文档免受未经授权的访问,ONLYOFFICE 编辑器使用 JSON Web Token (JWT)。在初始化文档编辑器和内部 ONLYOFFICE 文档服务之间的命令交换期间,令牌会被添加到配置中。使用密钥对 JSON Web Token 进行签名,并在请求 ONLYOFFICE 文档时验证令牌。
从 ONLYOFFICE 文档 v7.2 开始,JWT 默认启用,并自动生成密钥。您需要在 ONLYOFFICE 文档配置文件中找到您的密钥,然后在连接器设置中指定相同的密钥。
步骤 1: 在 ONLYOFFICE 文档配置文件中找到您的密钥
-
使用任何可用的文本编辑器打开 local.json 文件:
-
对于 Linux:
/etc/onlyoffice/documentserver/local.json -
对于 Windows:
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json -
对于 Docker:使用
docker exec -it <containerID> bash命令进入 ONLYOFFICE 文档容器并打开/etc/onlyoffice/documentserver/local.json。或者,您可以运行:sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.json 文件应如下所示:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} -
-
true值在三个部分中指定,这意味着令牌验证已启用:services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自动生成的密钥在三个部分中指定。您可以用自己的密钥替换默认值 — 它在三个部分中必须相同:
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
如果您进行了更改,请保存并重新启动服务:
supervisorctl restart all
步骤 2: 在连接器设置中指定相同的密钥
在连接器设置中,在密钥字段中指定相同的密钥并保存设置。
使用 WOPI
您还可以通过 WOPI 将 ONLYOFFICE 文档与 SharePoint 连接,WOPI 是一种基于 REST 的协议,当客户端与您的数据服务器建立连接时,会向一组 REST 端点发出 HTTP 请求。
限制
由于 WOPI 架构的限制,通过 WOPI 连接 ONLYOFFICE 文档缺少某些功能:
- 不支持版本历史功能。
- 不支持从存储中插入图像。
- 不支持比较文档。
- 不支持以下格式:DOC、XLS、PPT。
要求
- ONLYOFFICE 文档服务器 v7.1 或更高版本,并已启用 WOPI。请按照此说明启用 WOPI。
- SharePoint 2019
通过 WOPI 连接
-
打开您的 SharePoint 服务器。运行 SharePoint 管理 Shell 控制台,并设置所需的 WOPI 区域:
Set-SPWOPIZone -Zone "external-http"documentserver 默认使用
external-http参数。 -
检查当前场上是否有其他文档类型的 WOPI 绑定:
Get-SPWOPIBinding如果有,请删除这些绑定:
Remove-SPWOPIBinding -All:$true -
根据文件类型创建默认操作的绑定。
一次性为所有文件类型创建绑定:
New-SPWOPIBinding -ServerName ip_or_domain.com:port仅为特定文件类型创建绑定:
New-SPWOPIBinding -ServerName ip_or_domain.com:port -Extension DOCX如果未使用 SSL,请在命令末尾添加
-AllowHTTP。
启用授权头
wopi.sendAuthorizationHeader 参数会在 WOPI 请求中添加 Authorization: Bearer <access_token> 头。根据 WOPI 规范它是可选的,但根据 SharePoint 版本的不同可能是必需的:
- SharePoint Subscription Edition: 必须启用此参数。否则会出现 Invalid access token 错误,文档编辑失败。
- SharePoint 2019: 此参数是可选的。连接可以使用 URI 中传递的令牌正常工作,但启用该头不会造成任何问题。
要启用 wopi.sendAuthorizationHeader,请使用以下方式之一:
-
编辑
/etc/onlyoffice/documentserver/default.json配置文件,或将以下内容添加到/etc/onlyoffice/documentserver/local.json以在更新后保留更改:{"wopi": {"sendAuthorizationHeader": true}}更改后,请重新启动服务:
supervisorctl restart all -
在商业版本中,也可以通过管理面板配置此参数。
创建新文档
以下说明仅适用于 WOPI 连接方法。
要能够创建新文档,请设置以下描述的参数。此示例仅针对 DOCX 文件,但您可以类似地添加 XLSX、PPTX 和其他文件。
-
启用允许管理内容类型设置:转到文档 → 库设置 → 高级设置。在允许管理内容类型部分中,选择是并点击确定。

-
在文档库中,转到站点内容 → 站点设置 → 站点内容类型。点击创建。填写表单:名称(新文档)、描述。在父内容类型中,选择文档内容类型、文档。在现有组中,选择自定义内容类型并点击确定。

-
在文档库中,转到站点内容 → 站点设置 → 站点内容类型。选择最近添加的新文档。转到高级设置 → 文档模板 → 上传新文档模板。点击选择文件按钮,上传所需的文档并点击确定。

-
转到文档库 → 库设置。在内容类型部分中,选择从现有站点内容类型添加。在从中选择站点内容类型列表中,选择自定义内容类型。在可用站点内容类型字段中,选择新文档。点击添加 > 按钮,然后点击确定。

-
在文档库中,刷新页面并按新建按钮。

-
文档内容类型将自动添加为父类型。它必须被隐藏:转到文档库 → 库设置。在内容类型部分中,选择更改新按钮顺序和默认内容类型。

在可见列中,取消选中文档内容类型的复选框并点击确定。

-
在文档库中,刷新页面并按新建按钮 — 只有新文档菜单项可用。
