本文档由 石墨办公 提供。
OfficeSDK 实例上的公共 API,也就是不依赖具体编辑器套件、宿主侧可以统一调用的能力。HeaderBars 虽然也挂在 sdk 根级实例上,但它属于独立扩展能力,不在本页展开。请查看 HeaderBars。| API | 说明 |
|---|---|
connect(options) | 创建并连接 SDK,返回 OfficeSDK 实例 |
sdk.ready() | 等待 SDK 进入可交互状态 |
sdk.on(event, listener) | 监听事件 |
sdk.once(event, listener) | 监听一次性事件 |
sdk.off(event, listener?) | 取消事件监听 |
sdk.fileType | 获取当前文件类型 |
sdk.readyState | 获取当前 SDK 状态 |
sdk.getEditor() | 获取当前编辑器实例 |
sdk.disconnect() | 断开连接并移除 iframe |
sdk.setCredentials(payload) | 更新鉴权信息 |
sdk.setSignature(signature) | 仅更新 signature,已废弃 |
sdk.setToken(token) | 仅更新 token,已废弃 |
sdk.getPerformanceEntries() | 获取性能信息片段列表 |
OfficeSDK 实例。| 配置项 | 说明 |
|---|---|
fileId | 要打开的文档 ID |
endpoint | 石墨 SDK 服务地址 |
signature | 用于石墨 SDK 鉴权的签名 |
token | 用于接入方系统鉴权的 token |
container | iframe 挂载的目标容器元素 |
refreshCredentialsInterval | 自动刷新凭证的时间间隔,单位为毫秒;建议设为凭证过期时长的 80% |
getCredentials | 获取 最新 signature 和 token 的异步方法 |
headerBarsVisible | 顶部栏初始是否展示,false 表示隐藏 |
lang | 编辑器界面语言,例如 zh-CN、en-US;未传时使用编辑器默认语言 |
smParams | URL 上下文参数,可传 base62 字符串、对象,或由字符串和对象组成的数组 |
signature 和 token 存在有效期。建议在 ConnectOptions 中配置 refreshCredentialsInterval 和 getCredentials,在凭证过期前自动刷新,避免用户长时间编辑时因凭证失效而中断。GET /api/apps/expire-config:返回凭证过期时长,例如 { expireMs: 900000 }GET /api/credentials:返回新凭证,例如 { signature, token }getCredentials 应从接入方后端获取最新凭证,并返回同时包含 signature 和 token 的对象。接口路径可按接入方系统实际情况调整。headerBarsVisible 控制顶部栏初始是否展示:connect 时通过 lang 指定编辑器界面语言,传入对应语言码即可;不传时使用编辑器默认语言。lang(或传 undefined;纯 JavaScript 也可传 null),选择其他语言时将对应语言码透传给 connect:| 语言 | lang 语言码 | 语言 | lang 语言码 |
|---|---|---|---|
| 简体中文 | zh-CN | 繁體中文 | zh-TW |
| English | en-US | 日本語 | ja-JP |
| 한국어 | ko-KR | Español | es-ES |
| Português | pt-PT | Deutsch | de-DE |
| Français | fr-FR | Italiano | it-IT |
| Русский | ru-RU | Bahasa Indonesia | id-ID |
| Tiếng Việt | vi-VN | ไทย | th-TH |
| Bahasa Melayu | ms-MY | العربية | ar-SA |
en、ja,SDK 会分别映射为 en-US、ja-JP。新接入建议使用表中的标准语言码。Promise<OfficeSDK>。connect() 成功后返回 sdkReady 状态。若当前已经 ready,则会直接返回。Promise<void>。fileType、根级 API 或编辑器方法已经可用Event.Error:错误事件Event.ReadyState:SDK 状态变化事件Event.EditorRendered:编辑器完成首屏渲染sdk 实例,便于链式调用。sdk 实例。event:事件名listener:要移除的监听函数;不传时会移除该事件下的监听sdk 实例。LoadingLoadingEditorReadyFailedsignature 和 token。payload.signature:新的石墨鉴权签名payload.token:新的业务 tokenPromise<void>。signature 或 token,优先使用这个方法signature。Promise<void>。sdk.setCredentials()。token。Promise<void>。sdk.setCredentials()。Promise<PerformanceEntry[]>。