目录
接口简介调用前提调用方式 示例代码 参数 success 回调入参 fail / complete 回调入参错误码兼容性应用权限相关接口旧版 jweixin 兼容 示例代码接口简介
selectDatazoneFile —— 在「数据与智能专区」能力下,调起企业微信原生的微盘文件选择面板,让用户从自己所在的所有空间中、本人上传的微盘文件里勾选若干,返回文件的 fileId 与 url 列表给业务网页。
适用场景:在数据与智能专区中选定文件后,调通用模型能力进行分析;业务网页内一键挑选用户的微盘资料;从知识库 / AI 助手入口承接文件选择动作。
本接口只能选择当前用户本人上传的微盘文件,不能选择他人上传或公共空间内非本人的文件。文件选定后只返回 fileId 与 url,业务侧的后续操作(如调用模型、归档、转存)需自行调用对应后台 API。
灰度内测中:本接口依赖「数据与智能专区文档存档权限」,需该权限灰度通过后方可调用。
调用前提
- 必须先使用
ww.register 进行应用身份注册 - 当前成员必须在应用的可见范围内,否则报
selectDatazoneFile:fail no permission - 应用必须具有数据与智能专区文档存档权限,且成员在该应用的文档存档范围内,否则报
selectDatazoneFile:fail no permission - 自建 第三方 代开发应用均需先获得灰度准入
调用方式
示例代码
ww.selectDatazoneFile({
success(result) {
result.fileList.forEach((f) => {
const { fileId, url } = f
})
},
fail(result) {
},
complete(result) {
}
})
参数
| 参数 | 类型 | 必填 | 说明 |
|---|
| success | (result: SuccessResult) => void | 否 | 调用成功的回调函数,详见 success 回调入参 |
| fail | (result: { errMsg: string }) => void | 否 | 调用失败的回调函数 |
| complete | (result: { errMsg: string }) => void | 否 | 调用结束的回调函数(成功 / 失败都会执行) |
success 回调入参
| 字段 | 类型 | 说明 |
|---|
| errMsg | string | 执行结果,固定为 selectDatazoneFile:ok |
| fileList | array<FileItem> | 用户选中的微盘文件列表 |
| fileList[].fileId | string | 选中文件的 fileId。不同调用方(企业自建 vs 第三方服务商)拿到的 fileId 不通用 |
| fileList[].url | string | 选中文件的访问 url |
fail / complete 回调入参
| 字段 | 类型 | 说明 |
|---|
| errMsg | string | 错误信息,详见下方「错误码」。complete 在成功时同样会收到 selectDatazoneFile:ok |
错误码
errMsg | 含义 | 处理建议 |
|---|
selectDatazoneFile:cancel | 用户主动取消 | 静默处理或友好提示 |
selectDatazoneFile:fail no session or expired | 没有调用过登录接口或登录态已过期 | 重新完成应用身份注册 |
selectDatazoneFile:fail no permission | 当前成员不在应用可见范围 应用未获得「数据与智能专区文档存档权限」 成员不在文档存档范围内 | 检查应用是否已获灰度准入;确认当前成员的可见范围与文档存档范围 |
selectDatazoneFile:fail param error | 参数错误 | 核对入参字段是否符合规范 |
selectDatazoneFile:fail context error | 选择器异常 | 关闭重开面板重试;持续出现请联系企业微信支持 |
selectDatazoneFile:fail not supported system version | 低系统版本不支持 | 升级到下文「兼容性」要求的系统版本 |
通用错误码参见 全局错误码。
兼容性
| 平台 | 企业微信版本要求 | 系统版本要求 |
|---|
| iOS | ≥ 5.0.9 | — |
| Android | ≥ 5.0.9 | — |
| Windows | ≥ 5.0.9 | — |
| macOS | ≥ 5.0.9 | > 10.12 |
应用权限
| 应用类型 | 是否可调用 |
|---|
| 自建应用 | 需具有「数据与智能专区文档存档权限」(灰度内测中) |
| 第三方应用 | 需具有「数据与智能专区文档存档权限」(灰度内测中) |
| 代开发应用 | 需具有「数据与智能专区文档存档权限」(灰度内测中) |
相关接口
旧版 jweixin 兼容
仅供使用 jweixin-1.2.0.js 旧 SDK 的存量项目参考。新项目请使用上方调用方式。
示例代码
wx.invoke('selectDatazoneFile', {
}, function(res) {
if (res.err_msg === 'selectDatazoneFile:ok') {
var fileList = res.fileList
for (var i = 0; i < fileList.length; i++) {
var fileId = fileList[i].fileId
var url = fileList[i].url
}
} else if (res.err_msg === 'selectDatazoneFile:cancel') {
} else {
}
})