SharePoint
关于 ONLYOFFICE 和 SharePoint 的集成
要在 SharePoint 协作平台中编辑文档,您可以通过官方 ONLYOFFICE 连接器或 WOPI 将 ONLYOFFICE 文档与您的文档库集成。欲了解更多信息,请访问 ONLYOFFICE 到 SharePoint 连接器的GitHub 页面。该连接器根据 AGPL-3.0 许可证分发。
主要功能
- 通过从文件的上下文菜单或功能区中选择在 ONLYOFFICE 中编辑(使用官方连接器时),或直接点击文件(使用 WOPI 时)来编辑文本文档、电子表格和演示文稿。
- 通过两种协作模式实时协作编辑文档:快速和严格(官方连接器可用;WOPI 仅支持快速模式)。利用变更跟踪、评论和内置聊天等功能实现无缝团队合作。
access_token_ttl 属性设置为 10 小时以用于快速协作模式。严格协作模式可能会对访问令牌参数产生负面影响。支持的格式
对于官方连接器:
- 可查看和编辑:DOCX、XLSX、PPTX、PPSX
- 仅可查看:PDF、DJVU、TXT、CSV、ODT、ODS、ODP、DOC、XLS、PPT、PPS、EPUB、RTF、HTML、HTM、MHT、XPS
对于 WOPI:
- 可查看和编辑:DOCX、XLSX、PPTX、DOCM、XLSM、PPTM、ODT、ODS、ODP、CSV、PDF
- 仅可查看:DJVU、XPS
连接 ONLYOFFICE 文档到 SharePoint
要求
-
ONLYOFFICE 文档服务器 v7.1(服务器或云版本)或更高版本
您需要按照此说明启用 WOPI。
您需要一个可以从SharePoint和任何终端客户端解析和连接的 ONLYOFFICE 文档实例。它还必须能够直接向SharePoint发送 POST 请求。
请参阅官方文档页面以了解有关安装 ONLYOFFICE 文档的更多信息。 - SharePoint 2019
- ONLYOFFICE SharePoint 连接器 3.0
安装和配置 ONLYOFFICE 和 SharePoint
ONLYOFFICE SharePoint 集成解决方案是一个官方的 ONLYOFFICE 连接器,可在GitHub 页面上根据 GNU AGPL v.3 许可证获得。
- 点击开始,指向所有程序,指向管理工具,然后点击服务,确保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页面。输入以下地址:
其中documentserver是安装了ONLYOFFICE 文档的服务器名称。该地址必须对用户浏览器和SharePoint 服务器可访问。SharePoint 服务器地址也必须对ONLYOFFICE 文档可访问以确保正确工作。https://<documentserver>/
从 ONLYOFFICE 文档v7.2开始,JWT 默认启用,并自动生成密钥。您还需要在SharePoint端启用它:在ONLYOFFICE 文档配置文件中找到您的密钥,然后在SharePoint 管理设置中指定相同的密钥。有关详细信息,请参阅本文的启用 ONLYOFFICE 和 SharePoint 集成的 JWT部分。
如果启用了 JWT 保护,必须指定自定义头名称,因为SharePoint 安全策略会阻止外部'Authorization'头。此头也应在ONLYOFFICE 文档签名设置中指定(更多信息请参见此处)。
编译 ONLYOFFICE SharePoint 集成解决方案
有两种方法可以编译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下载新版本的文档,替换旧版本。
为 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或者,您可以使用以下命令在不打开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"}}}}} - 对于 Linux -
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 连接 ONLYOFFICE 文档
您还可以通过 WOPI 将 ONLYOFFICE 文档与SharePoint连接,WOPI 是一种基于 REST 的协议,当客户端与您的数据服务器建立连接时,会向一组 REST 端点发出 HTTP 请求。
- 编辑器不支持版本历史功能。
- 不支持邮件合并功能。
- 编辑器不支持从您的存储中插入图像。
- 不支持比较来自您存储的文档。
- 不支持以下格式:DOC、XLS、PPT。
要通过 WOPI 将 ONLYOFFICE 连接到SharePoint,
- 确保您满足要求。
-
打开您的SharePoint 服务器。运行SharePoint 管理 Shell控制台,并使用以下命令设置所需的 WOPI 区域:
Set-SPWOPIZone -Zone "external-http"文档服务器默认使用external-http参数。 -
运行以下命令以检查当前场上是否有其他文档类型的 WOPI 绑定:
如果有,请运行以下命令删除这些绑定:Get-SPWOPIBindingRemove-SPWOPIBinding -All:$true -
根据文件类型创建默认操作的绑定。
运行以下命令以一次性为所有文件类型创建绑定:
运行以下命令仅为特定文件类型创建绑定:New-SPWOPIBinding -ServerName ip_or_domain.com:portNew-SPWOPIBinding -ServerName ip_or_domain.com:port -Extension DOCX如果未使用 SSL,请在命令末尾添加-AllowHTTP。
创建新文档
要能够创建新文档,请设置以下描述的参数。此示例仅针对 DOCX 文件,但您可以类似地添加 XLSX、PPTX 和其他文件。
-
启用允许管理内容类型设置:转到文档 → 库设置 → 高级设置。在允许管理内容类型部分中,选择是并点击确定。


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


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


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


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


- 文档内容类型将自动添加;这是创建新文档内容类型的父类型。它必须在文档库 → 库设置中隐藏。在内容类型部分中,选择更改新按钮顺序和默认内容类型。


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


-
在文档库中,刷新页面并按“新建”按钮 – 只有新文档菜单项将可用。使用它来创建文档。

