全量同步 - walkFile
功能介绍
全量同步
授权信息
当前API调用无需身份策略权限。
URI
POST /koodrive/ose/v1/file/walkFile
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Authorization | 是 | String | 该字段存储的是Access Token。调用KooDrive的API使用Token认证,拥有Token就代表拥有某种权限,在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Access Token的获取请参考对应的开发手册,格式参考:Bearer+{access_token} |
X-User-Id | 是 | String | 用户id,用于app鉴权 |
X-Date | 是 | String | 日期,用于app鉴权 |
Host | 是 | String | 地址,用于app鉴权 |
X-Traceid | 否 | String | 消息日志跟踪标识(必须58位) |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
pageInfo | 否 | PageInfo object | 分页信息 注:pageSize增加至1000 |
sortInfo | 否 | FileSortInfo object | 排序信息 支持按文件名称、文件大小、创建时间、修改时间排序 |
containerId | 是 | String | 空间ID |
parentFileId | 是 | String | 父目录ID 根目录填写root 注:父目录ID为遍历的根目录ID,一次遍历过程的所有请求的parentFileId都相同。 |
type | 否 | String | 文件类型 详见枚举类型FileType 缺省默认返回所有类型文件 |
includeHidden | 否 | Boolean | 是否包含隐藏文件 true:返回所有文件 false:仅返回非隐藏文件 缺省默认为false |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
files | Array of File objects | 文件信息列表 |
nextCursor | String | 下一页起始游标,最后一页值为空 |
参数 | 参数类型 | 描述 |
|---|---|---|
category | String | 类型,drive#file |
id | String | 文件id |
fileName | String | 文件名,最长250个字符 |
fileType | String | 文件类型,外部输入 |
mimeType | String | 内容类型 |
description | String | 文件描述。字符串长度不超过512,不能包括emoji和非法字符 |
favorite | Boolean | 文件是否被收藏 |
recycled | Boolean | 文件是否被放入回收站 |
directlyRecycled | Boolean | 文件是否被直接被放入回收站(随着文件夹删除为false,直接删除为true) |
recyclingUser | User object | 删除用户 |
recycledTime | String | 放入回收站的时间 |
parentFolder | Array of strings | 父目录ID列表,注意:当前只取第一个父母Id |
properties | Map<String,String> | 文件公共自定义属性。key-value个数不能超过30个;单个key-value长度不超过124字符 |
appSettings | Map<String,String> | 应用自定义属性。key-value个数不能超过30个;单个key-value长度不超过124字符 |
containers | Array of strings | 空间标识 |
version | Integer | 版本号 |
createdTime | String | 文件创建时间 |
editedTime | String | 文件修改时间 |
editedByMeTime | String | 本人修改文件时间 |
editedByMe | Boolean | 是否是我修改文件 |
sharedWithMeTime | String | 共享给我的时间 |
sharer | User object | 分享者 |
owners | Array of User objects | 拥有者 |
lastEditor | User object | 最后编辑者 |
hasShared | Boolean | 是否共享 |
ownedByMe | Boolean | 是否是我上传 |
capabilities | Capabilities object | 能力 |
viewersHasCopyContentPermission | Boolean | 浏览者是否可以复制内容 |
writerHasCopyPermission | Boolean | 复制是否需要writer权限 |
writersHasSharePermission | Boolean | writer能否share |
originalFilename | String | 原始文件名,最长250个字符。不能包括'<>|:"*?/'和emoji,不能等于'..'、'.'、'' |
fullFileSuffix | String | 完整的文件后缀,取name第一个.后的字符串 |
fileSuffix | String | 文件后缀,fullFileExtension最后一个字符串 |
size | Integer | 文件大小 |
pictureMetadata | PictureMetadata object | 图片元数据 |
videoMetadata | VideoMetadata object | 视频元数据 |
audioMetadata | AudioMetadata object | 音频元数据 |
sha256 | String | 文件的sha256 |
lastHistoryVersionId | String | 最新的历史记录版本ID |
attachments | Array of Attachment objects | 附件(用途,附件),只有风控服务appid返回 |
iconDownloadLink | String | 图标链接 |
existThumbnail | Boolean | 是否有缩略图 |
privateKey | String | 特殊文件夹标识,使用规则如下: |
signedDownloadLink | String | FileProxy签名的下载链接,在线播放使用 |
downloadLinks | Array of DownloadLink objects | FileProxy文件列表下载地址 |
localPath | String | 变更时的父目录顶层id路径(取前10层),变更记录和文件查询接口返回 |
sortName | String | 转换fileName后的排序名称 |
userProperties | PrivateProperties object | 用户属性 |
参数 | 参数类型 | 描述 |
|---|---|---|
category | String | 类型,drive#user |
userId | String | 华为用户ID |
displayName | String | 用户显示名 |
me | Boolean | 是否是我 |
permissionId | String | 权限id |
参数 | 参数类型 | 描述 |
|---|---|---|
addChildNodePermission | Boolean | 是否可以增加子目录/文件 |
writerHasChangeCopyPermission | Boolean | change copy是否需要write权限 |
commentPermission | Boolean | 是否可以评论 |
copyPermission | Boolean | 是否可以复制 |
deletePermission | Boolean | 是否可以删除 |
downloadPermission | Boolean | 是否可以下载内容 |
editPermission | Boolean | 是否可以编辑 |
listChildNodePermission | Boolean | 是否可以list子目录/文件 |
editContentPermission | Boolean | 是否可以修改内容 |
readHistoryVersionPermission | Boolean | 是否可以读取副本 |
removeChildNodePermission | Boolean | 是否可以移动子目录 |
renameFilePermission | Boolean | 是否可以重命名 |
shareFilePermission | Boolean | 是否可以共享 |
recyclePermission | Boolean | 是否可以移动到回收站 |
unrecyclePermission | Boolean | 是否可以撤回移动子文件到回收站 |
参数 | 参数类型 | 描述 |
|---|---|---|
width | Integer | 照片宽度 |
height | Integer | 照片高度 |
rotation | Integer | 照片旋转角度,暂不提供 |
location | Location object | 定位信息 |
exifTime | String | 照片的时间,EXIF DateTime |
cameraMaker | String | 照相机制造商 |
cameraModel | String | 照相机型号 |
exposureTime | Float | 曝光长度,单位秒 |
aperture | Float | 光圈,f-number |
flashUsed | Boolean | 是否使用闪光灯 |
focalLength | Float | 焦距,毫米 |
isoSpeed | Integer | ISO速度 |
meteringMode | String | 测距模式 |
sensor | String | 感光类型 |
exposureMode | String | 曝光模式 |
colorSpace | String | 色彩空间 |
whiteBalance | String | 白平衡模式 |
exposureBias | Float | 曝光偏差,APEX值 |
maxApertureValue | Float | 最大光圈值,APEX value |
subjectDistance | Integer | 对象距离,单位米,暂不提供 |
lens | String | 镜头 |
参数 | 参数类型 | 描述 |
|---|---|---|
width | Integer | 宽度 |
height | Integer | 高度 |
durationTime | Integer | 时长,单位毫秒 |
position | String | 经纬度信息,格式为"x":"111","y":"222","z":"2222" |
rotation | Integer | 旋转角度,取值1-8 |
format | String | 视频编码格式,例如:H264、H265、vp8/vp9、ogg、mpeg-4 avc |
dynamicRange | String | SDR,HDR |
snapshotTime | String | 拍摄时间 |
参数 | 参数类型 | 描述 |
|---|---|---|
durationTime | Integer | 时长,单位毫秒 |
sampleRate | String | 采样率,例如:16000、48000 |
encoding | String | 音频编码格式,例如:pcm、aac、amr、amrwb |
codeRate | Number | 码率单位kb/s,例如:12.8 |
rateModel | String | 码率模式,例如:CBR |
languageCode | String | 语言国家码,例如:zh、en |
参数 | 参数类型 | 描述 |
|---|---|---|
usage | String | 用途默认:'content'-实体内容、'thumbnail'-缩略图,业务可以扩展该字段 |
assetId | String | Asset ID |
length | Long | 文件大小 |
versionId | String | Asset版本ID |
mimeType | String | MIME类型 |
hash | String | Asset关联的资源的hash |
sha256 | String | Asset关联的资源的sha256 |
createdTime | String | 数据创建时间 |
modifiedTime | String | 数据最后修改时间 |
attributes | Map<String,Object> | 类型属性 |
asset | Asset object | 资产 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | Asset ID |
versionId | String | Asset版本ID |
version | Long | 版本号 |
mimeType | String | MIME type |
keepPolicy | Integer | 历史版本的保存策略 |
state | Integer | 数据的状态 |
createdTime | String | 数据创建时间 |
modifiedTime | String | 数据最后修改时间 |
lastModifyingUser | String | 最后一次修改的用户UPID |
resource | Resource object | 资源 |
cipher | Cipher object | 密码器 |
attributes | Map<String,Object> | 类型属性(Key部分使用字母开头的字母加数字组合,Value部分禁止使用emoji字符,不限单个属性长度,限制总大小为16K以内),存在字段如下: |
properties | Map<String,String> | 扩展属性 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 文件资源ID |
hash | String | 文件资源的hash |
length | Long | 文件资源的长度 |
sha256 | String | 文件的sha256(用于完整性校验) |
type | Integer | 资源类型 |
state | Integer | 数据的状态 |
sliceSize | Long | 分片大小 |
hfek | String | 加密文件的fek的hash,用于type={0} |
iv | String | 加密文件的IV,适用于type={0} |
createdTime | String | 数据创建时间 |
modifiedTime | String | 数据最后修改时间 |
objects | Array of SliceObject objects | 分片对象,适用于type={0,3} |
attributes | Map<String,Object> | 类型属性 |
properties | Map<String,String> | 扩展属性 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 分片ID |
number | Integer | 分片序号,从0开始计,不适用于type={12} |
start | Long | 分片的起始位置,不适用于type={12} |
sha256 | String | 分片的sha256(如果是加密,是指密文的sha256) |
length | Long | 分片的长度(如果是加密,则是密文长度) |
bucket | String | OBS桶信息 |
createdTime | String | 数据创建时间 |
modifiedTime | String | 数据最后修改时间 |
uploadUrl | EndpointURL object | 上传url |
downloadUrl | EndpointURL object | 下载url |
uploadId | String | 分段上传ID,适用于type={12}且uploadMode=multipart |
attributes | Map<String,Object> | 类型属性 |
properties | Map<String,String> | 扩展属性 |
images | Array of Images objects | 缩略图 |
参数 | 参数类型 | 描述 |
|---|---|---|
url | String | URL |
method | String | http method |
headers | Map<String,String> | http headers |
forms | Map<String,String> | 表单参数,适用于type={12}且uploadMode=post |
partId | String | 分段参数,适用于type={12}且uploadMode=multipart |
参数 | 参数类型 | 描述 |
|---|---|---|
algorithm | String | 加密算法 |
hfek | String | 加密文件的fek的hash,用于type={0,4} |
iv | String | 加密文件的IV,适用于type={0,4} |
dataType | Integer | 数据类型 |
keychains | Array of Keychain objects | 钥匙串 |
请求示例
全量同步请求示例
POST /koodrive/ose/v1/file/walkFile
Authorization:Bearer+10f88*********4791e9ff
{
"pageInfo": {
"pageSize": 1,
"pageCursor": ""
},
"sortInfo": {
"sortType": 1,
"sortDirection": 2
},
"containerId": "IAAFvqhbjJn5lgncA1649204212623716096",
"parentFileId": "FrqKiZrmCqA7_tupuT99JkbhBhBjcAN8O"
} 响应示例
状态码:200
遍历文件响应
{
"files" : [ {
"id" : "Fj96QCEuQ1n7BwjfYZMdBM5k9tnYuEqF-",
"fileName" : "456",
"mimeType" : "application/vnd.huawei-apps.folder",
"fileSuffix" : "",
"recycled" : false,
"hidden" : false,
"parentFolder" : [ "FrqKiZrmCqA7_tupuT99JkbhBhBjcAN8O" ],
"containers" : [ "IAAFvqhbjJn5lgncA1649204212623716096" ],
"properties" : {
"smartFolderAttr" : "null",
"auditResult" : "{\"auditDetail\":\"{}\",\"auditLevel\":10,\"auditResult\":1}"
},
"owners" : [ {
"category" : "drive#user",
"me" : true,
"permissionId" : "1649204212858517248",
"userId" : "YzkzN2ZmOTVlZWI0NDQ5NGE1YTk2N2UyMWQxODUyYWUtMTY0OTIwMTQxNjIyMjQzOTI5Nw"
} ],
"lastEditor" : {
"category" : "drive#user",
"me" : true,
"permissionId" : "1649204212858517248",
"userId" : "YzkzN2ZmOTVlZWI0NDQ5NGE1YTk2N2UyMWQxODUyYWUtMTY0OTIwMTQxNjIyMjQzOTI5Nw"
},
"fileType" : "10",
"createdTime" : "2025-08-26T11:31:31.656Z",
"editedTime" : "2025-08-26T11:31:31.656Z",
"favorite" : false,
"userCapabilities" : {
"addChildNodePermission" : true,
"copyPermission" : true,
"deletePermission" : true,
"downloadPermission" : true,
"editPermission" : true,
"listChildNodePermission" : true,
"removeChildNodePermission" : true,
"renameFilePermission" : true,
"shareFilePermission" : true,
"uploadPermission" : true,
"viewPermission" : true
},
"creatingUser" : "YzkzN2ZmOTVlZWI0NDQ5NGE1YTk2N2UyMWQxODUyYWUtMTY0OTIwMTQxNjIyMjQzOTI5Nw"
} ],
"nextCursor" : "(WzEsIkZycUtpWnJtQ3FBN190dXB1VDk5SmtiaEJoQmpjQU44TyIsIjJvcTEtRkowV0YzME9MT2ItLSIsIkZqOTZRQ0V1UTFuN0J3amZZWk1kQk01azl0bll1RXFGLSJdWyIxNzY1MzE4MjI3NDYzODY3NTIwIiw1MDAwLDEwMCwwLDAsMSwxXQ==)",
"code" : 0,
"msg" : "success"
} 状态码
状态码 | 描述 |
|---|---|
200 | 遍历文件响应 |

