按关键字搜索文件和用户列表
开发中POST
{endpoint_url}/search此接口用 @ 功能搜索,获取下拉菜单的结果使用。 输入 @ 时,如需要根据关键字搜索用户或文件,通过请求接入方系统返回对应的文件列表、用户列表;如不需要可将对应字段返回空数组。
支持返回 @ 第三方文件
:::caution 说明
由于第三方文件无法进行协作,仅支持在 SDK 中插入 @ 时保留引用,因此需要达到点击后跳转至第三方页面,需要满足以下条件:
file 信息
type
字段值为file
,参考如下 Response Examplefile 信息增加
fullUrl
字段作为跳转至接入方系统的完整地址,参考如下 Response Example前端使用
shimo-js-sdk
时在调用connect
需要实现openLink
方法用于控制编辑器内点击链接时的跳转行为。
:::
请求参数
用于接入方对本次请求鉴权
接入方系统的文件 ID
文件名或者用户名的关键字
指定搜索请求需要搜索的结果包括哪些类型,按照传入的类型按需返回不同的搜索结果。通过英文逗号 , 分割后根据命中的类型返回相应的结果。
type
字段说明
:::caution 说明
file_name
表示通过关键字搜索文件,对应 Response 中files
结果。recent_contact
表示通过关键字搜索比较相关用户,对应 Response 中recentUsers
结果。collaborator
表示通过关键字搜索协作者用户,对应 Response 中collaborators
结果。team_member
表示通过关键字搜索团队成员,对应 Response 中teamMembers
结果。department
表示通过关键字搜索部门,对应 Response 中department
结果。
{
"fileId": "file1234",
"keyword": "test",
"page": 0,
"pageSize": 6,
"type": "file_name,recent_contact,collaborator,team_member,department"
}
示例代码
返回响应
搜索到结果的总条数,包括所有分页结果的总和
当前为第几页,第如第一页的值为 0
每一页分页的结果的数量
分搜索结果的总条数按照分页大小计算后的总页数
搜索到结果的总条数,包括所有分页结果的总和
当前为第几页,第如第一页的值为 0
每一页分页的结果的数量
搜索结果的总条数按照分页大小计算后的总页数
搜索到结果的总条数,包括所有分页结果的总和
当前为第几页,第如第一页的值为 0
每一页分页的结果的数量
分搜索结果的总条数按照分页大小计算后的总页数
搜索到结果的总条数,包括所有分页结果的总和
当前为第几页,第如第一页的值为 0
每一页分页的结果的数量
分搜索结果的总条数按照分页大小计算后的总页数
搜索到结果的总条数,包括所有分页结果的总和
当前为第几页,第如第一页的值为 0
每一页分页的结果的数量
分搜索结果的总条数按照分页大小计算后的总页数
{
"files": { // 按文件名搜索的文件
"count": 3,
"page": 0,
"pageSize": 6,
"pageCount": 3,
"results": [
{
"id": "ba13551165cc5066",
"name": "示例表格",
"type": "spreadsheet",
"permissions": {
"commentable": true,
"editable": false,
"readable": true
},
"creatorId": "1",
"createdAt": "2021-08-01T00:00:00Z", // UTC 时间,0 时区,在北京时间基础上减 8 小时
"updatedAt": "2021-08-02T00:00:00Z", // UTC 时间,0 时区,在北京时间基础上减 8 小时
"views": 100
},
{
"id": "ba13551165cc5066",
"name": "示例文档",
"type": "document",
"permissions": {
"commentable": true,
"editable": false,
"readable": true
},
"creatorId": "1",
"createdAt": "2021-08-01T00:00:00Z", // UTC 时间,0 时区,在北京时间基础上减 8 小时
"updatedAt": "2021-08-02T00:00:00Z", // UTC 时间,0 时区,在北京时间基础上减 8 小时
"views": 100
},
{
"id": "ba13551165cc5066",
"name": "接入方自己的文件.docx",
"type": "file",
"permissions": {
"commentable": false,
"editable": false,
"readable": true
},
"creatorId": "1",
"createdAt": "2021-08-01T00:00:00Z", // UTC 时间,0 时区,在北京时间基础上减 8 小时
"updatedAt": "2021-08-02T00:00:00Z", // UTC 时间,0 时区,在北京时间基础上减 8 小时
"views": 0,
"fullUrl": "https://customer-system.com/path/to/file" // 仅在文件仅为接入方自身系统的文件而非协同文档时需要传递
}
]
},
"recentUsers": { // 最近联系人等
"count": 2,
"page": 0,
"pageSize": 6,
"pageCount": 2,
"results": [
{
"id": "userid123",
"name": "张三",
"avatar": "http://fake.site/user-123.png",
"email": "user123@fake.site"
},
{
"id": "userid456",
"name": "李四",
"avatar": "http://fake.site/user-123.png",
"email": "userid456@fake.site"
}
]
},
"collaborators": { // 协作者
"count": 2,
"page": 0,
"pageSize": 6,
"pageCount": 1,
"results": [
{
"id": "userid123",
"name": "张三",
"avatar": "http://fake.site/user-123.png",
"email": "user123@fake.site"
},
{
"id": "userid456",
"name": "李四",
"avatar": "http://fake.site/user-123.png",
"email": "userid456@fake.site"
}
]
},
"teamMembers": { // 团队成员
"count": 2,
"page": 0,
"pageSize": 6,
"pageCount": 1,
"results": [
{
"id": "userid123",
"name": "张三",
"avatar": "http://fake.site/user-123.png",
"email": "user123@fake.site"
},
{
"id": "userid456",
"name": "李四",
"avatar": "http://fake.site/user-123.png",
"email": "userid456@fake.site"
}
]
},
"department": {
"count": 2,
"page": 0,
"pageSize": 6,
"pageCount": 1,
"results": [
{
"id": "2",
"name": "后端组",
"allMemberCount": 9,
"parentDepartments": [
{
"id": "3",
"name": "XXX 事业部" // 一级部门
},
{
"id": "4",
"name": "YYY 产品部"
}
]
},
{
"id": "userid456",
"name": "基础服务后端组", // 已经是一级部门
"allMemberCount": 20,
"parentDepartments": []
}
]
}
}