接口描述
此 API 端点 POST /api/system/getWorkspaces
用于获取当前用户配置的所有思源笔记工作空间的列表。
在桌面端,它会读取用户配置文件 (例如 Linux/macOS 上的 ~/.siyuan/conf.json
或 Windows 上的相应路径) 中的 workspaces
列表。
注意:在移动端 (iOS, Android, HarmonyOS),此接口会直接返回,不提供工作空间列表。
此接口需要用户认证。
请求参数
此 API 不需要任何请求参数。发送一个空的 JSON 对象 {}
即可。
请求示例 (空JSON对象):
{}
响应体
响应体是一个 JSON 对象,包含以下字段:
code
(number): 状态码,0 表示成功。msg
(string): 状态信息,成功时为空字符串。data
(array | null):- 在桌面端成功时,为一个包含工作空间对象的数组。工作空间对象按路径升序排序。
- 在移动端,或发生错误时,可能为
null
或空数组 (取决于具体错误和平台行为)。
每个工作空间对象的结构如下:
path
(string): 工作空间的绝对路径。closed
(boolean): 根据当前后端实现,此字段始终为false
,并未实际反映工作空间的打开/关闭状态。
成功响应示例 (桌面端):
{
"code": 0,
"msg": "",
"data": [
{
"path": "/Users/username/Documents/SiYuan/MyNotes",
"closed": false
},
{
"path": "/Users/username/Documents/SiYuan/WorkNotes",
"closed": false
}
]
}
响应示例 (移动端,可能情况):
{
"code": 0,
"msg": "",
"data": null // 或者 []
}
失败响应示例 (例如读取配置文件失败):
{
"code": -1,
"msg": "read user conf failed: open /Users/username/.siyuan/conf.json: no such file or directory",
"data": null
}
认证与授权
此 API 需要有效的用户认证。请求时必须在 HTTP Header 中提供 Authorization
字段,其值为 API Token。
不需要管理员权限。
备注
- 此接口可用于在切换工作空间或管理多个工作空间时,获取已配置的工作空间路径列表。
closed
字段当前不具有实际意义,请勿依赖其值判断工作空间状态。
在线测试
您可以使用下面的按钮来测试此 API。请确保您已在浏览器中登录思源笔记,或者在请求头中正确设置了 API Token。
响应:
点击发送请求查看响应