WOPI发现
WOPI discovery 是通过从在线办公软件请求discovery XML 来帮助 WOPI 服务器发现 WOPI 客户端的过程。WOPI 主机使用discovery XML 来指定如何与在线办公软件进行交互。请求被发送到 https://FilezOfficeServer/docs/hosting/discovery 地址。
WOPI 发现操作
发现XML的action元素提供了在线办公室的重要特征。此元素表示:
- online office中可用的文档操作,
- 支持的文件格式(扩展名)。
WOPI 操作
| 名称 | 描述 |
|---|---|
| view | 呈现文档的不可编辑视图。 |
| edit | 允许用户编辑文档。 |
| mobileView | 呈现文档的不可编辑视图,该视图已针对智能手机等移动设备上的查看进行了优化。 |
| mobileEdit | 允许用户在智能手机等移动设备上编辑文档。 |
属性
| 名称 | 描述 |
|---|---|
| requires | 使用操作所需的 WOPI REST 端点。 |
| urlsrc | 为了对特定文件调用操作而导航到的 URL。 |
示例
<action name="edit" ext="docx" requires="locks,update" urlsrc="https://FilezOfficeServer/docs/app/wopi/we/wordviewerframe.aspx?<hid=HOST_SESSION_ID&><sc=SESSION_CONTEXT&><WOPISrc=WOPI_SOURCE&><ui=UI_LLCC>"/>
发现查询参数是可以通过 urlsrc 属性中的文件存储公开的参数,以自定义编辑器行为。例如,更改语言。
这些参数在发现 XML 的 urlsrc 属性中公开。每个可选参数都包含在尖括号( < 和 > )中,并遵循 "<name=PLACEHOLDER_VALUE[&]>" 的模式,其中 name 是查询字符串参数的名称, PLACEHOLDER_VALUE 是一个可以被主机替换的占位符值。按照惯例,所有 Web 操作 URI 的占位符值都以大写字母开头。
占位符替换规则如下:
- 如果主机不知道 PLACEHOLDER_VALUE ,则删除整个参数,包括尖括号。
- 同样地,如果已知 PLACEHOLDER_VALUE ,但主机希望忽略它或使用该参数的默认值,则应删除整个参数,包括尖括号。
- 如果已知 PLACEHOLDER_VALUE ,则移除尖括号,保留 name 值,并将 PLACEHOLDER_VALUE 字符串替换为适当的值。如果存在,则必须保留可选的 & 。
FilezOffice可使用的占位符列表
| 名称 | 示例 | 描述 |
|---|---|---|
| UI_LLCC | en-us | 指示 FilezOffice 在线文档界面使用的语言。 您可以提供任何语言,只要其格式符合[RFC1766] 中所述的格式。FilezOffice并非支持所有语言,如果请求的语言不受支持,则可能会使用替代语言。如果您未为此占位符设置值,则 FilezOffice 页面会尝试使用浏览器支持的语言(accept-language头) |
| WOPI_SOURCE | https://<host_address>/ docs/app/wopi/files/(file_id) | WOPISrc 值。它告诉 WOPI 客户端在对文件运行 WOPI 操作时回调到哪个 URL。此参数是必需的。 |
| HOST_SESSION_ID | 主机传递此值,用于将 FilezOffice 会话与主机会话标识符关联起来。这有助于 FilezOffice 工程师根据主机特定的会话标识符更快地查找日志,以便进行故障排除。 | |
| SESSION_CONTEXT | 您可以将此占位符替换为任何字符串值。如果提供此值,则会在后续的 CheckFileInfo 和 CheckFolderInfo 调用中,通过 X-WOPI-SessionContext 请求标头将其传递回主机。此字符串的长度没有限制;但是,由于它是通过查询字符串传递的,因此它受Web URL 长度的限制。 |