API 汇总:ONLYOFFICE 协作空间与文档更新
ONLYOFFICE 协作空间和文档 API 的最新更新带来了一系列全新的集成可能性和开发工具。无论您是构建文档工作流程、创建自定义插件,还是将 ONLYOFFICE 与现有技术栈连接,这些更新都能提供实用的解决方案,帮助您节省时间并简化开发流程。
协作空间:Backend REST API 集成示例
协作空间 API 此次更新将包括完整的集成示例,覆盖真实业务场景——不是代码片段,而是可立即使用的完整解决方案。
Trello 集成示例
双向用户同步:自动在协作空间和 Trello 看板之间同步用户,无需手动邀请,确保团队跨平台进度一致。将协作空间用户加入 Trello / 将 Trello 用户同步到协作空间
资产迁移:Trello 卡片附件一键导入协作空间房间。简化项目交接,集中管理文档。
项目结构镜像:根据 Trello 看板名称创建同名协作空间房间。保持项目结构统一。以下为代码示例:
import requests
# ONLYOFFICE DocSpace configuration
ONLYOFFICE_API_HOST = "your-docspace.onlyoffice.com"
ONLYOFFICE_API_KEY = "your_onlyoffice_api_key"
# Trello configuration
TRELLO_API_KEY = "your_trello_api_key"
TRELLO_TOKEN = "your_trello_token"
TRELLO_BOARD_ID = "your_board_id"
ONLYOFFICE_HEADERS = {
"Authorization": f"Bearer {ONLYOFFICE_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json"
}
# Step 1: Get Trello board name
def get_trello_board_name(board_id):
url = f"https://api.trello.com/1/boards/{board_id}"
params = {"key": TRELLO_API_KEY, "token": TRELLO_TOKEN}
response = requests.get(url, params=params)
if response.status_code == 200:
return response.json()["name"]
else:
print(f"Trello board fetch error: {response.status_code}")
return None
# Step 2: Create a DocSpace room with board name
def create_docspace_room(room_title):
url = f"https://{ONLYOFFICE_API_HOST}/api/2.0/files/rooms"
payload = {
"title": room_title,
"roomType": 2, # Collaboration room
"private": True
}
response = requests.post(url, headers=ONLYOFFICE_HEADERS, json=payload)
if response.status_code == 200:
print(f"Room created: {room_title}")
return response.json()
else:
print(f"DocSpace room creation error: {response.status_code}, {response.text}")
return None
# Run integration
if __name__ == "__main__":
board_name = get_trello_board_name(TRELLO_BOARD_ID)
if board_name:
create_docspace_room(board_name)
云存储集成
Dropbox 连接:最新 Dropbox 集成支持双向工作流:既可通过预签名 URL 导出协作空间文件,用于归档或备份,也能将文件直接导入指定房间,实现集中管理。
文件夹共享自动化:自动把 Dropbox 文件夹共享给协作空间用户或组员,实现跨平台无缝协作。
Notion 与 Asana 工作流
Notion 用户同步:Notion 工作区同步到协作空间, 确保文档生态权限一致。
Asana 项目自动化:根据 Asana 项目生成协作空间房间结构,每个任务都会自动对应一个文件夹,实现项目管理与文档协作的精准同步。
基于任务的邀请:自动邀请 Asana 任务负责人至对应协作空间房间,省去手动进行权限管理的麻烦。
协作空间:升级版插件 SDK
插件 SDK 将迎来更新,新增基础与进阶示例,全面加速插件开发。
进阶插件示例
- 文件扩展名过滤插件:通过简洁的模态窗口,按文件类型对房间内容进行上下文级过滤,大量文档也能一目了然。
- 模态对话框插件:示范如何调用后端 API,在工具栏集成自定义按钮,直接在界面内按用户设定参数创建新文档。
- 设置插件 UI:为管理员提供专属配置界面,可对插件行为进行精细控制。
基础组件示例
全新基础示例涵盖常用 UI 组件:
- API 插件:正确连接平台 API 的范例。
- Box 组件:布局与间距配置示例。
- Button 组件:交互元素完整实施。
- ComboBox 组件:下拉选择界面。
- Text 组件:字体与样式设置。
- ToggleButton 组件:二元状态控制。
这些示例构成复杂插件所需的基石,并附带清晰的实施模式,可直接使用。
文档 API 新功能:自定义
新增的 suggestFeature 参数让您可以精细控制编辑器界面最新元素。
const config = {
editorConfig: {
customization: {
...
suggestFeature: true,
该参数决定文件标签页中“建议功能”菜单按钮是否可见。若部署在无需收集功能建议的内部环境中,可设为 false;若想持续让用户参与产品迭代,则可以设置为 true。
文档:全新 Office API 示例
为了支持不同的用例,我们引入了具有实际应用的新文档创建示例。
- 序列号:在首列自动生成序号,提升表格导航与行引用效率。
- 格式化表格:在创建表格时,通过添加边框、设置标题样式以及对齐单元格内的文本自动设置表格格式。非常适合用于报表、数据库导出或需要精美易读布局的模板。
- 带筛选的电子表格:生成具有交互式标题过滤器的电子表格,使用户能够轻松排序和过滤数据,实现无缝导航和分析。
- 带日期和公司名称的页脚:自动为文档添加页脚,一侧显示当前日期,另一侧显示公司名称。非常适合用于备忘录、报告、信函和模板的标准格式。
- 自动调整宽度表格:生成带有表格的文档,该表格可动态调整列宽以完美适应内容。
- 项目符号任务列表:生成具有清晰有序的项目符号列表的文档,非常适合用于概述任务、步骤或要求。
- 清除所有表单值:立即将 PDF 中的所有表单字段重置为初始状态,以便重复使用、快速清除或取消输入。
- 从 JSON 生成表单:自动从 JSON 对象创建表单,其字段类型和结构由数据上下文决定。
- 应用配色方案:轻松在整个演示文稿中应用统一的配色方案,打造统一的外观。
- 检查重复项:检测并突出显示选定列中的重复值,非常适合清理和分析客户列表、订单或员工记录等数据。
文档:插件和宏
探索 ONLYOFFICE 中的后台插件。此类插件在所有打开的文档中保持活动状态,直到您手动禁用。只需点击顶部工具栏上的后台插件按钮即可管理这些正在运行的插件。此类插件的示例包括 AI 和二维码生成器插件。
如果插件满足以下条件,则可视为后台插件:
- 包含在产品发行版(服务器/桌面版)中
- 未被更新、移除或禁用
从版本 9.0.4 开始,这些自带的后台插件在启动时会自动运行。
此外,我们还为自定义函数引入了一项增强功能——直接访问单元格地址信息。这项新功能允许进行更动态、更上下文感知的计算,从而使您的自定义函数更加灵活。
- this.address:检索正在计算自定义函数的单元格地址(例如“C5”)。
- this.args:提供输入参数数组。每个参数对象都包含一个地址字段,用于指定源单元格的地址(例如“A1”)。该数组的结构如下:
[
{"address": "arg1_address"},
{"address": "arg2_address"},
...
]
创建免费的 ONLYOFFICE 账户
在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。