跳到主要内容

文档生成器 API

对于与 Web 文档生成器服务 的交互,使用 POST 请求。请求参数在请求正文中以 JSON 格式输入。请求被发送到 https://documentserver/docbuilder 地址,其中 documentserver 是安装了 ONLYOFFICE 文档的服务器的名称。

从 8.1 版开始,建议将 shardkey 参数添加到 URL QueryString,其中包含 key 值。例如,?shardkey=Khirz6zTPdfd7。这允许您对请求进行负载平衡。

参数及其说明:

论据

定义要传递给创建的文档的参数。

类型: object

是否必填:非必填

async

定义对文档生成器服务的请求类型:异步与否。

支持的值:

  • true;
  • false.

使用异步请求类型时,响应立即形成。在这种情况下,要获得结果,必须在不更改参数的情况下发送请求,直到文档生成完成。默认值为 false

类型: boolean

是否必填:非必填

key

定义用于明确标识请求的请求标识符。key在文档生成器服务端形成,并作为对第一个请求的响应返回。当使用异步请求时(async 参数设置为 true),key不存在于第一个请求中,但必须存在于将在文档生成完成之前发送的所有后续请求中。使用同步请求时( async 参数设置为 false),不需要该参数。

类型: string

是否必填: 必填

令牌

令牌的形式定义添加到 ONLYOFFICE 文档配置的加密签名。

类型: string

是否必填: 配置要求

url

定义 .docbuilder 文件的绝对 URL。

类型: string

是否必填: 必填

.docbuilder 文件包含用于生成输出文档文件(文本文档、电子表格或演示文稿)的脚本,指定输出文件格式和名称。一旦文档生成准备就绪后,将返回带有结果文件绝对 URL 的响应(见下文)。

请注意,.docbuilder 脚本文件可以包含多个输出文件。文件生成完成后,它们的 URL 将在请求响应中返回。

您可以在此处找到有关 .docbuilder 文件语法的更多信息。请阅读 Office JavaScript API 文档了解使用哪些类和方法借助 .docbuilder 文件生成文档的详细信息。

示例

发送到文档生成器服务的 JSON 对象示例,用于第一个异步请求

{
"async": true,
"url": "https://example.com/url-to-example-script.docbuilder"
}

此处的 example.com 表示安装文档存储服务的服务器名称。要深入了解ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

响应格式:

{
"key": "af86C7e71Ca8",
"end": false
}

发送到文档生成器服务的JSON对象示例,用于接下来的异步请求

{
"async": true,
"key": "Khirz6zTPdfd7"
}

响应格式:

{
"key": "Khirz6zTPdfd7",
"urls": {
"SampleText.docx": "https://documentserver/SampleText.docx",
"SampleText2.docx": "https://documentserver/SampleText2.docx"
},
"end": true
}

发送到文档生成器服务的JSON对象示例,用于同步请求

{
"async": false,
"url": "https://example.com/url-to-example-script.docbuilder"
}

此处的 example.com 表示安装文档存储服务的服务器名称。要深入了解ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

响应格式:

{
"key": "af86C7e71Ca8",
"urls": {
"SampleText.docx": "https://documentserver/SampleText.docx",
"SampleText2.docx": "https://documentserver/SampleText2.docx"
},
"end": true
}

JSON对象示例包含发送到文档生成器服务的JSON Web令牌,用于第一个异步请求

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhc3luYyI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS91cmwtdG8tZXhhbXBsZS1zY3JpcHQuZG9jYnVpbGRlciJ9.dzoTbRzSMa95Fpg34CjnF3ZUPdGA2CnBedFL_qOOxAs"
}

响应格式:

{
"error": -8
}

JSON 对象的示例包含发送到第一个同步请求的文档生成器服务的参数

{
"async": false,
"url": "https://example.com/url-to-example-script.docbuilder",
"argument": {"key": "string",
"key2": "string2"}
}

此处的 example.com 表示安装文档存储服务的服务器名称。要深入了解ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

响应格式:

{
"key": "af86C7e71Ca8",
"urls": {
"SampleText.docx": "https://documentserver/SampleText.docx",
"SampleText2.docx": "https://documentserver/SampleText2.docx"
},
"end": true
}

可能的错误代码及其描述

错误代码描述
-1未知错误。
-2生成超时错误。
-3文档生成错误。
-4下载要生成的文档文件时出错。
-6访问文档生成结果数据库时出错。
-8令牌无效。