github.com/qjfoidnh/BaiduPCS-Go@v0.0.0-20231011165705-caa18a3765f3/docs/file_data_apis_list.md (about) 1 # 文件API列表 2 3 ## 更新通知: 4 5 * 2013.6.20 上传、下载新域名正式上线使用,相关接口“上传单个文件”、“分片上传-文件分片上传”、“下载单个文件”及“下载流式文件”相关接口信息更新 6 7 * 2013.3.20 去除API权限申请开通相关说明,开发者可通过“管理中心”自行开启。 8 9 * 2013.3.1 新增“回收站功能”,新增“还原单个文件或目录”、“还原多个文件或目录”、“获取回收站文件或目录列表”及“清空回收站”等接口 10 11 ## 基本功能 12 13 ### 空间配额信息 14 15 #### 功能 16 17 获取当前用户空间配额信息。 18 19 #### HTTP请求方式 20 21 GET 22 23 #### URL 24 25 https://pcs.baidu.com/rest/2.0/pcs/quota 26 27 #### 请求参数 28 29 | 参数名称 | 类型 | 是否必需 | 描述 | 30 | :- | :-: | :-: | :- | 31 | method | string | 是 | 固定值:info。 | 32 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 33 34 #### 返回参数 35 36 | 参数名称 | 类型 | 是否必需 | 描述 | 37 | :- | :-: | :-: | :- | 38 | quota | uint64 | 是 | 空间配额,单位为字节。 | 39 | used | uint64 | 是 | 已使用空间大小,单位为字节。 | 40 41 #### 示例 42 43 ##### 请求示例 44 45 GET https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=1.54be391000a16ee6a21791d4a8ea04fe.86400.1331206383.67272939-188383 46 47 ##### 响应示例 48 49 { 50 "quota":15000000000, 51 "used":5221166, 52 "request_id":4043312634 53 } 54 55 ### 上传单个文件 56 57 #### 功能 58 59 上传单个文件。 60 百度PCS服务目前支持最大2G的单个文件上传。 61 如需支持超大文件(>2G)的断点续传,请参考下面的“分片文件上传”方法。 62 63 #### HTTP请求方式 64 65 POST 66 67 #### URL 68 69 https://pcs.baidu.com/rest/2.0/pcs/file 70 71 #### 请求参数 72 73 | 参数名称 | 类型 | 是否必需 | 描述 | 74 | :- | :-: | :-: | :- | 75 | method | string | 是 | 固定值:upload。 | 76 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 77 | path | string | 是 | 上传文件路径(含上传的文件名称)。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 78 | file | char[] | 是 | 上传文件的内容。 | 79 | ondup | string | 是 | * overwrite:表示覆盖同名文件;<br/> * newcopy:表示生成文件副本并进行重命名,命名规则为“文件名_日期.后缀”。 | 80 81 #### 返回参数 82 83 | 参数名称 | 类型 | UrlEncode | 描述 | 84 | :- | :-: | :-: | :- | 85 | path | string | 是 | 该文件的绝对路径。 | 86 | size | uint64 | 否 | 文件字节大小。 | 87 | ctime | uint64 | 否 | 文件创建时间。 | 88 | mtime | uint64 | 否 | 文件修改时间。 | 89 | md5 | string | 否 | 文件的md5签名。 | 90 | fs_id | uint64 | 否 | 文件在PCS的临时唯一标识ID。 | 91 92 #### 示例 93 94 ##### 请求示例 95 96 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&path=%2fapps%2falbum%2f1.JPG&access_token=b778fb598c717c0ad7ea8c97c8f3a46f 97 98 ##### 响应示例 99 100 { 101 "path" : "/apps/album/1.jpg", 102 "size" : 372121, 103 "ctime" : 1234567890, 104 "mtime" : 1234567890, 105 "md5" : "cb123afcc12453543ef", 106 "fs_id" : 12345, 107 "request_id":4043312669 108 } 109 110 ### 分片上传—文件分片及上传 111 112 #### 功能 113 114 百度PCS服务支持每次直接上传最大2G的单个文件。 115 如需支持上传超大文件(>2G),则可以通过组合调用分片文件上传的upload方法和createsuperfile方法实现: 116 首先,将超大文件分割为2G以内的单文件,并调用upload将分片文件依次上传; 117 其次,调用createsuperfile,完成分片文件的重组。 118 除此之外,如果应用中需要支持断点续传的功能,也可以通过分片上传文件并调用createsuperfile接口的方式实现。 119 120 #### HTTP请求方式 121 122 POST 123 124 #### URL 125 126 https://pcs.baidu.com/rest/2.0/pcs/file 127 128 #### 请求参数 129 130 | 参数名称 | 类型 | 是否必需 | 描述 | 131 | :- | :-: | :-: | :- | 132 | method | string | 是 | 固定值:upload。 | 133 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 134 | type | string | 是 | 固定值,tmpfile。 | 135 | file | char[] | 是 | 上传文件的内容。 | 136 137 #### 返回参数 138 139 | 参数名称 | 类型 | UrlEncode | 描述 | 140 | :- | :-: | :-: | :- | 141 | md5 | string | 否 | 文件的md5签名。 | 142 143 #### 示例 144 145 ##### 请求示例 146 147 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&access_token=1.54bef000f2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&type=tmpfile 148 149 ##### 响应示例 150 151 { 152 "md5":"a7619410bca74850f985e488c9a0d51e", 153 "request_id":3238563823 154 } 155 156 ### 分片上传—合并分片文件 157 158 #### 功能 159 160 与分片文件上传的upload方法配合使用,可实现超大文件(>2G)上传,同时也可用于断点续传的场景。 161 162 #### HTTP请求方式 163 164 POST 165 166 #### URL 167 168 https://pcs.baidu.com/rest/2.0/pcs/file 169 170 #### 请求参数 171 172 | 参数名称 | 类型 | 是否必需 | 描述 | 173 | :- | :-: | :-: | :- | 174 | method | string | 是 | 固定值:createsuperfile。 | 175 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 176 | path | string | 是 | 上传文件路径(含上传的文件名称)。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 177 | param | string | 是 | block_list数组,数组的取值为子文件内容的MD5;子文件至少两个,最多1024个。 <br/> *本参数必须放在Http Body中进行传输,value示例: <br/> {"block_list":["d41d8cd98f00b204e9800998ecf8427e","89dfb274b42951b973fc92ee7c252166","1c83fe229cb9b1f6116aa745b4ef3c0d"]} | 178 | ondup | string | 是 | * overwrite:表示覆盖同名文件;<br/> * newcopy:表示生成文件副本并进行重命名,命名规则为“文件名_日期.后缀”。 | 179 180 #### 返回参数 181 182 | 参数名称 | 类型 | UrlEncode | 描述 | 183 | :- | :-: | :-: | :- | 184 | path | string | 是 | 该文件的绝对路径。 | 185 | size | uint64 | 否 | 文件大小(以字节为单位)。 | 186 | ctime | uint64 | 否 | 文件创建时间。 | 187 | mtime | uint64 | 否 | 文件修改时间。 | 188 | md5 | string | 否 | 文件的md5签名。 | 189 | fs_id | uint64 | 否 | 文件在PCS的临时唯一标识ID。 | 190 191 #### 示例 192 193 ##### 请求示例 194 195 POST https://pcs.baidu.com/rest/2.0/file?method=createsuperfile&path=%2fapps%2fyunform%2f6ddddd.JPG&access_token=1.9fb09e8cce44c0d000e6787138924a26.86400.1331273905.2600617452-188383 196 197 ##### 响应示例 198 199 { 200 "path":"/apps/yunform/6ddddd.JPG", 201 "size":6844, 202 "ctime":1331197101, 203 "mtime":1331197101, 204 "md5":"baa7c379639b74e9bf98c807498e1b64", 205 "fs_id":1548308694, 206 "request_id":4043313276 207 } 208 209 ### 下载单个文件 210 211 #### 功能 212 213 下载单个文件。 214 Download接口支持HTTP协议标准range定义,通过指定range的取值可以实现断点下载功能。 例如: 215 如果在request消息中指定“Range: bytes=0-99”,那么响应消息中会返回该文件的前100个字节的内容;继续指定“Range: bytes=100-199”,那么响应消息中会返回该文件的第二个100字节内容。 216 217 #### HTTP请求方式 218 219 GET 220 221 #### URL 222 223 https://pcs.baidu.com/rest/2.0/pcs/file 224 225 #### 请求参数 226 227 | 参数名称 | 类型 | 是否必需 | 描述 | 228 | :- | :-: | :-: | :- | 229 | method | string | 是 | 固定值:download。 | 230 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 231 | path | string | 是 | 下载文件路径,以/开头的绝对路径。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 232 233 #### 返回参数 234 235 无 236 237 #### 示例 238 239 ##### 请求示例 240 241 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=download&access_token=3.d9000194f4b5d2da3fe8b6f850ace082.2592000.1348645419.2233553628-248414&path=%2Fapps%2F%E6%B5%8B%E8%AF%95%E5%BA%94%E7%94%A8%2F%2F01.jpg 242 243 ##### 响应示例 244 245 文件内容 246 247 ### 创建目录 248 249 #### 功能 250 251 为当前用户创建一个目录。 252 253 #### HTTP请求方式 254 255 POST 256 257 #### URL 258 259 https://pcs.baidu.com/rest/2.0/pcs/file 260 261 #### 请求参数 262 263 | 参数名称 | 类型 | 是否必需 | 描述 | 264 | :- | :-: | :-: | :- | 265 | method | string | 是 | 固定值:mkdir。 | 266 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 267 | path | string | 是 | 需要创建的目录,以/开头的绝对路径。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 268 269 #### 返回参数 270 271 | 参数名称 | 类型 | UrlEncode | 描述 | 272 | :- | :-: | :-: | :- | 273 | fs_id | uint64 | 否 | 目录在PCS的临时唯一标识id。 | 274 | path | string | 否 | 该目录的绝对路径。 | 275 | ctime | uint64 | 否 | 目录创建时间。 | 276 | mtime | uint64 | 否 | 目录修改时间。 | 277 278 #### 示例 279 280 ##### 请求示例 281 282 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=mkdir&access_token=1.54bef000f2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fmusic 283 284 ##### 响应示例 285 286 { 287 "fs_id":1636599174, 288 "path":"/apps/yunfom/music", 289 "ctime":1331183814, 290 "mtime":1331183814, 291 "request_id":4043312656 292 } 293 294 ### 获取单个文件/目录的元信息 295 296 #### 功能 297 298 获取单个文件或目录的元信息。 299 300 #### HTTP请求方式 301 302 GET 303 304 #### URL 305 306 https://pcs.baidu.com/rest/2.0/pcs/file 307 308 #### 请求参数 309 310 | 参数名称 | 类型 | 是否必需 | 描述 | 311 | :- | :-: | :-: | :- | 312 | method | string | 是 | 固定值:meta。 | 313 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 314 | path | string | 是 | 需要获取文件属性的目录,以/开头的绝对路径。如:/apps/album/a/b/c <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 315 316 #### 返回参数 317 318 | 参数名称 | 类型 | UrlEncode | 描述 | 319 | :- | :-: | :-: | :- | 320 | fs_id | uint64 | 否 | 文件或目录在PCS的临时唯一标识ID。 | 321 | path | string | 否 | 文件或目录的绝对路径。 | 322 | ctime | uint | 否 | 文件或目录的创建时间。 | 323 | mtime | uint | 否 | 文件或目录的最后修改时间。 | 324 | block_list | string | 否 | 文件所有分片的md5数组JSON字符串。 | 325 | size | uint64 | 否 | 文件大小(byte)。 | 326 | isdir | uint | 否 | 是否是目录的标识符:<br/> * “0”为文件 <br/> * “1”为目录 | 327 | ifhassubdir | uint | 否 | 是否含有子目录的标识符:<br/> * “0”表示没有子目录 <br/> * “1”表示有子目录 | 328 329 #### 示例 330 331 ##### 请求示例 332 333 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=meta&access_token=1.5400f91df2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fmusic%2Fhello 334 335 ##### 响应示例 336 337 { 338 "list": [{ 339 "fs_id": 3528850315, 340 "path": "/apps/yunform/music/hello", 341 "ctime": 1331184269, 342 "mtime": 1331184269, 343 "block_list": ["59ca0efa9f5633cb0371bbc0355478d8"], 344 "size": 13, 345 "isdir": 1 346 }], 347 "request_id": 4043312678 348 } 349 350 ### 批量获取文件/目录的元信息 351 352 #### 功能 353 354 批量获取文件或目录的元信息。 355 356 #### HTTP请求方式 357 358 POST 359 360 #### URL 361 362 https://pcs.baidu.com/rest/2.0/pcs/file 363 364 #### 请求参数 365 366 | 参数名称 | 类型 | 是否必需 | 描述 | 367 | :- | :-: | :-: | :- | 368 | method | string | 是 | 固定值:meta。 | 369 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 370 | param | string | 是 | JSON字符串。<br/> {"list":[{"path":"\/apps\/album\/a\/b\/c"},{"path":"\/apps\/album\/a\/b\/d"}]} <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 371 372 #### 返回参数 373 374 | 参数名称 | 类型 | UrlEncode | 描述 | 375 | :- | :-: | :-: | :- | 376 | fs_id | uint64 | 否 | 文件或目录在PCS的临时唯一标识ID。 | 377 | path | string | 否 | 文件或目录的绝对路径。 | 378 | server_filename | string | 否 | 文件或目录的名称。 | 379 | ctime | uint | 否 | 文件或目录的创建时间。 | 380 | mtime | uint | 否 | 文件或目录的最后修改时间。 | 381 | md5 | string | 否 | 文件的md5值。 | 382 | block_list | string | 否 | 文件所有分片的md5数组JSON字符串。 | 383 | size | uint64 | 否 | 文件大小(byte)。 | 384 | isdir | uint | 否 | 是否是目录的标识符:<br/> * “0”为文件 <br/> * “1”为目录 | 385 | ifhassubdir | uint | 否 | 是否含有子目录的标识符:<br/> * “0”表示没有子目录 <br/> * “1”表示有子目录 | 386 387 388 #### 示例 389 390 ##### 请求示例 391 392 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=meta&access_token=1.54b0091ee2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383 393 394 ##### 响应示例 395 396 { 397 "list": [{ 398 "fs_id": 3528850315, 399 "path": "/apps/album/a/b/c", 400 "ctime": 1331184269, 401 "mtime": 1331184269, 402 "block_list": ["59ca0efa9f5633cb0371bbc0355478d8"], 403 "size": 13, 404 "isdir": 0 405 }, 406 { 407 "fs_id": 3528850320, 408 "path": "/apps/album/a/b/d", 409 "ctime": 1331184269, 410 "mtime": 1331184269, 411 "block_list": ["59ca0efa9f5633cb0371bbc0355478d8"], 412 "size": 13, 413 "isdir": 0 414 } 415 ], 416 "request_id": 4043312678 417 } 418 419 ### 获取目录下的文件列表 420 421 #### 功能 422 423 获取目录下的文件列表。 424 425 #### HTTP请求方式 426 427 GET 428 429 #### URL 430 431 https://pcs.baidu.com/rest/2.0/pcs/file 432 433 #### 请求参数 434 435 | 参数名称 | 类型 | 是否必需 | 描述 | 436 | :- | :-: | :-: | :- | 437 | method | string | 是 | 固定值:list。 | 438 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 439 | path | string | 是 | 需要list的目录,以/开头的绝对路径。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 440 | by | string | 否 | 排序字段,缺省根据文件类型排序:<br/> * time(修改时间)<br/> * name(文件名)<br/> * size(大小,注意目录无大小) | 441 | order | string | 否 | “asc”或“desc”,缺省采用降序排序。<br/> * asc(升序)<br/> * desc(降序) | 442 | limit | string | 否 | 返回条目控制,参数格式为:n1-n2。<br/> 返回结果集的[n1, n2)之间的条目,缺省返回所有条目;n1从0开始。 | 443 444 #### 返回参数 445 446 | 参数名称 | 类型 | UrlEncode | 描述 | 447 | :- | :-: | :-: | :- | 448 | fs_id | uint64 | 否 | 文件或目录在PCS的临时唯一标识ID。 | 449 | path | string | 否 | 文件或目录的绝对路径。 | 450 | server_filename | string | 否 | 文件或目录的名称。 | 451 | ctime | uint | 否 | 文件或目录的创建时间。 | 452 | mtime | uint | 否 | 文件或目录的最后修改时间。 | 453 | md5 | string | 否 | 文件的md5值。 | 454 | block_list | string | 否 | 文件所有分片的md5数组JSON字符串。 | 455 | size | uint64 | 否 | 文件大小(byte)。 | 456 | isdir | uint | 否 | 是否是目录的标识符:<br/> * “0”为文件 <br/> * “1”为目录 | 457 458 #### 示例 459 460 ##### 请求示例 461 462 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token=1.54bef91002416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fhello 463 464 ##### 响应示例 465 466 { 467 "list": [{ 468 "fs_id": 3528850315, 469 "path": "/apps/yunform/music/hello", 470 "ctime": 1331184269, 471 "mtime": 1331184269, 472 "block_list": ["59ca0efa9f5633cb0371bbc0355478d8"], 473 "size": 13, 474 "isdir": 0 475 }], 476 "request_id": 4043312670 477 } 478 479 ### 移动单个文件/目录 480 481 #### 功能 482 483 移动单个文件/目录。 484 485 #### HTTP请求方式 486 487 POST 488 489 #### URL 490 491 https://pcs.baidu.com/rest/2.0/pcs/file 492 493 #### 请求参数 494 495 | 参数名称 | 类型 | 是否必需 | 描述 | 496 | :- | :-: | :-: | :- | 497 | method | string | 是 | 固定值:move。 | 498 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 499 | from | string | 是 | 源文件地址(包括文件名)。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 500 | to | string | 是 | 目标文件地址(包括文件名)。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 501 502 #### 返回参数 503 504 如果move操作执行成功,那么response会返回执行成功的from/to列表。 505 506 | 参数名称 | 类型 | UrlEncode | 描述 | 507 | :- | :-: | :-: | :- | 508 | from | string | 是 | 执行move操作成功的源文件地址。 | 509 | to | string | 是 | 执行move操作成功的目标文件地址。 | 510 511 #### 示例 512 513 ##### 请求示例 514 515 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=move&from=%2fapps%2f pcstest_oauth%2f test1%2fyyyytestwer.jpg&to=%2fapps%2fpcstest_oauth%2ftest2%2f2.jpg&access_token=b778fb598c717c0ad7ea8c97c8f3a46f 516 517 ##### 响应示例 518 519 { 520 "extra": { 521 "list": [{ 522 "to": "/apps/pcstest_oauth/test2/2.jpg", 523 "from": "/apps/pcstest_oauth/test1/yyyytestwer.jpg" 524 }] 525 }, 526 "request_id": 2298812844 527 } 528 529 ### 批量移动文件/目录 530 531 #### 功能 532 533 批量移动文件/目录。 534 535 #### HTTP请求方式 536 537 POST 538 539 #### URL 540 541 https://pcs.baidu.com/rest/2.0/pcs/file 542 543 #### 请求参数 544 545 | 参数名称 | 类型 | 是否必需 | 描述 | 546 | :- | :-: | :-: | :- | 547 | method | string | 是 | 固定值:move。 | 548 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 549 | param | string | 是 | 源文件地址和目标文件地址对应的列表。<br/> {"list":[{"from":"/apps/album/a/b/c","to":"/apps/album/b/b/c"},{"from":"/apps/album/a/b/d","to":"/apps/album/b/b/d"}]} <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 550 551 #### 返回参数 552 553 返回参数extra由list数组组成,list数组的两个元素分别是“from”和“to”,代表move操作的源地址和目的地址。 554 555 | 参数名称 | 类型 | UrlEncode | 描述 | 556 | :- | :-: | :-: | :- | 557 | from | string | 是 | 执行move操作成功的源文件地址。 | 558 | to | string | 是 | 执行move操作成功的目标文件地址。 | 559 560 #### 注意 561 562 调用move接口时,目标文件的名称如果和源文件不相同,将会在move操作时对文件进行重命名。 563 564 #### 示例 565 566 ##### 请求示例 567 568 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=move&from=%2fapps%2f pcstest_oauth%2f test1%2fyyyytestwer.jpg&to=%2fapps%2fpcstest_oauth%2ftest2%2f2.jpg&access_token=b778fb598c717c0ad7ea8c97c8f3a46f 569 570 ##### 响应示例 571 572 { 573 "extra": { 574 "list": [{ 575 "to": "/apps/pcstest_oauth/test2/2.jpg", 576 "from": "/apps/pcstest_oauth/test1/yyyytestwer.jpg" 577 }] 578 }, 579 "request_id": 2298812844 580 } 581 582 ### 拷贝单个文件/目录 583 584 #### 功能 585 586 拷贝文件(目录)。 587 588 #### HTTP请求方式 589 590 POST 591 592 #### URL 593 594 https://pcs.baidu.com/rest/2.0/pcs/file 595 596 #### 请求参数 597 598 | 参数名称 | 类型 | 是否必需 | 描述 | 599 | :- | :-: | :-: | :- | 600 | method | string | 是 | 固定值:copy。 | 601 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 602 | from | string | 是 | 源文件地址。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 603 | to | string | 是 | 目标文件地址。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 604 605 #### 返回参数 606 607 如果copy操作执行成功,那么response会返回执行成功的from/to列表。 608 609 | 参数名称 | 类型 | UrlEncode | 描述 | 610 | :- | :-: | :-: | :- | 611 | from | string | 是 | 执行copy操作成功的源文件地址。 | 612 | to | string | 是 | 执行copy操作成功的目标文件地址。 | 613 614 #### 注意 615 616 move操作后,源文件被移动至目标地址;copy操作则会保留原文件。 617 618 #### 示例 619 620 ##### 请求示例 621 622 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=copy&from=%2fapps%2fpcstest_oauth%2f test1%2f6.jpg&to=%2fapps%2fpcstest_oauth%2ftest2%2f6.jpg&access_token=b700fb598c717c0ad7ea8c97c8f3a46f 623 624 ##### 响应示例 625 626 { 627 "extra": { 628 "list": [{ 629 "to": "/apps/pcstest_oauth/test2/6.jpg", 630 "from": "/apps/pcstest_oauth/test1/6.jpg" 631 }] 632 }, 633 "request_id": 2298812844 634 } 635 636 ### 批量拷贝文件/目录 637 638 #### 功能 639 640 批量拷贝文件/目录。 641 642 #### HTTP请求方式 643 644 POST 645 646 #### URL 647 648 https://pcs.baidu.com/rest/2.0/pcs/file 649 650 #### 请求参数 651 652 | 参数名称 | 类型 | 是否必需 | 描述 | 653 | :- | :-: | :-: | :- | 654 | method | string | 是 | 固定值:copy。 | 655 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 656 | param | string | 是 | 源文件地址和目标文件地址对应的列表。<br/> {"list":[{"from":"/apps/album/a/b/c","to":"/apps/album/b/b/c"},{"from":"/apps/album/a/b/d","to":"/apps/album/b/b/d"}]} <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 657 658 #### 返回参数 659 660 返回参数extra由list数组组成,list数组的两个元素分别是“from”和“to”,代表copy操作的源地址和目的地址。 661 662 | 参数名称 | 类型 | UrlEncode | 描述 | 663 | :- | :-: | :-: | :- | 664 | from | string | 是 | 执行copy操作成功的源文件地址。 | 665 | to | string | 是 | 执行copy操作成功的目标文件地址。 | 666 667 #### 注意 668 669 执行批量copy操作时,param参数通过HTTP Body传递; 670 批量执行copy操作时,copy接口一次对请求参数中的每个from/to进行操作;执行失败就会退出,成功就继续,返回执行成功的from/to列表。 671 672 #### 示例 673 674 ##### 请求示例 675 676 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=copy&access_token=b778fb008c717c0ad7ea8c97c8f3a46f 677 678 ##### 响应示例 679 680 { 681 "extra": { 682 "list": [{ 683 "to": "/apps/pcstest_oauth/test1/6.jpg", 684 "from": "/apps/pcstest_oauth/test2/6.jpg" 685 }, 686 { 687 "to": "/apps/pcstest_oauth/test2/89.jpg", 688 "from": "/apps/pcstest_oauth/89.jpg" 689 } 690 ] 691 }, 692 "request_id": 2166619191 693 } 694 695 ### 删除单个文件/目录 696 697 #### 功能 698 699 删除单个文件/目录。 700 701 #### HTTP请求方式 702 703 POST 704 705 #### URL 706 707 https://pcs.baidu.com/rest/2.0/pcs/file 708 709 #### 请求参数 710 711 | 参数名称 | 类型 | 是否必需 | 描述 | 712 | :- | :-: | :-: | :- | 713 | method | string | 是 | 固定值:delete。 | 714 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 715 | path | string | 是 | 需要删除的文件或者目录路径。如:/apps/album/a/b/c <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 716 717 #### 返回参数 718 719 无 720 721 #### 示例 722 723 ##### 请求示例 724 725 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&access_token=1.54bef91002416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fmusic 726 727 ##### 响应示例 728 729 { 730 "request_id": 4043312866 731 } 732 733 ### 批量删除文件/目录 734 735 #### 功能 736 737 批量删除文件/目录。 738 注意: 739 * 文件/目录删除后默认临时存放在回收站内,删除文件或目录的临时存放不占用用户的空间配额; 740 * 存放有效期为10天,10天内可还原回原路径下,10天后则永久删除。 741 742 #### HTTP请求方式 743 744 POST 745 746 #### URL 747 748 https://pcs.baidu.com/rest/2.0/pcs/file 749 750 #### 请求参数 751 752 | 参数名称 | 类型 | 是否必需 | 描述 | 753 | :- | :-: | :-: | :- | 754 | method | string | 是 | 固定值:delete。 | 755 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 756 | param | string | 是 | 需要删除的文件或者目录路径。如:<br/> {"list":[{"path":"\/apps\/album\/a\/b\/c"},{"path":"\/apps\/album\/a\/b\/d"}]} <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 757 758 #### 返回参数 759 760 无 761 762 #### 示例 763 764 ##### 请求示例 765 766 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&access_token=1.54bef91002416ee4a41791d400ea04fe.86400.1331206383.67272939-188383 767 768 ##### 响应示例 769 770 { 771 "request_id": 4043312865 772 } 773 774 ### 搜索 775 776 #### 功能 777 778 按文件名搜索文件(不支持查找目录)。 779 780 #### HTTP请求方式 781 782 GET 783 784 #### URL 785 786 https://pcs.baidu.com/rest/2.0/pcs/file 787 788 #### 请求参数 789 790 | 参数名称 | 类型 | 是否必需 | 描述 | 791 | :- | :-: | :-: | :- | 792 | method | string | 是 | 固定值:search。 | 793 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 794 | path | string | 是 | 需要检索的目录。 <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 795 | wd | string | 是 | 关键词。 | 796 | re | string | 否 | 是否递归。 <br/> * “0”表示不递归 <br/> * “1”表示递归 <br/> * 缺省为“0” | 797 798 #### 返回参数 799 800 | 参数名称 | 类型 | UrlEncode | 描述 | 801 | :- | :-: | :-: | :- | 802 | fs_id | uint64 | 否 | 文件或目录在PCS的临时唯一标识ID。 | 803 | path | string | 否 | 文件或目录的绝对路径。 | 804 | server_filename | string | 否 | 文件或目录的名称。 | 805 | ctime | uint | 否 | 文件或目录的创建时间。 | 806 | mtime | uint | 否 | 文件或目录的最后修改时间。 | 807 | md5 | string | 否 | 文件的md5值。 | 808 | block_list | string | 否 | 文件所有分片的md5数组JSON字符串。 | 809 | size | uint64 | 否 | 文件大小(byte)。 | 810 | isdir | uint | 否 | 是否是目录的标识符:<br/> * “0”为文件 <br/> * “1”为目录 | 811 812 #### 示例 813 814 ##### 请求示例 815 816 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=search&access_token=1.54bee00df241eee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fmusic&wd=hello&re=1 817 818 ##### 响应示例 819 820 { 821 "list": [{ 822 "fs_id": 3528850315, 823 "path": "/apps/yunform/music/hello", 824 "ctime": 1331184269, 825 "mtime": 1331184269, 826 "block_list": ["59ca0efa9f5633cb0371bbc0355478d8"], 827 "size": 13, 828 "isdir": 0 829 }], 830 "request_id": 4043312670 831 } 832 833 ## 高级功能 834 835 ### 缩略图 836 837 #### 功能 838 839 获取指定图片文件的缩略图。 840 841 #### HTTP请求方式 842 843 GET 844 845 #### URL 846 847 https://pcs.baidu.com/rest/2.0/pcs/thumbnail 848 849 #### 请求参数 850 851 | 参数名称 | 类型 | 是否必需 | 描述 | 852 | :- | :-: | :-: | :- | 853 | method | string | 是 | 固定值:generate。 | 854 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 855 | path | string | 是 | 源图片的路径。 <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 856 | quality | int32 | 否 | 缩略图的质量,默认为“100”,取值范围(0,100]。 | 857 | height | int | 是 | 指定缩略图的高度,取值范围为(0,1600]。 | 858 | width | int | 是 | 指定缩略图的宽度,取值范围为(0,1600]。 | 859 860 #### 返回参数 861 862 无 863 864 #### 注意 865 866 有以下限制条件: 867 * 原图大小(0, 10M]; 868 * 原图类型: jpg、jpeg、bmp、gif、png; 869 * 目标图类型:和原图的类型有关;例如:原图是gif图片,则缩略后也为gif图片。 870 871 #### 示例 872 873 ##### 请求示例 874 875 GET https://pcs.baidu.com/rest/2.0/pcs/thumbnail?method=generate&path=%2Fapps%2Fpcstest_oauth%2FSunset.jpg&quality=100&width=1600&height=1600 876 877 ##### 响应示例 878 879 缩略图文件内容 880 881 ### 增量更新查询 882 883 #### 功能 884 885 文件增量更新操作查询接口。本接口有数秒延迟,但保证返回结果为最终一致。 886 887 #### HTTP请求方式 888 889 GET 890 891 #### URL 892 893 https://pcs.baidu.com/rest/2.0/pcs/file 894 895 #### 请求参数 896 897 | 参数名称 | 类型 | 是否必需 | 描述 | 898 | :- | :-: | :-: | :- | 899 | method | string | 是 | 固定值:diff。 | 900 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 901 | cursor | string | 是 | 用于标记更新断点。<br/> * 首次调用cursor=null;<br/> * 非首次调用,使用最后一次调用diff接口的返回结果中的cursor。 | 902 903 #### 返回参数 904 905 | 参数名称 | 类型 | 描述 | 906 | :- | :-: | :- | 907 | entries | array | k-v形式的列表,分为以下两种形式: <br/> 1. key为path,value为path对应的meta值,meta中isdelete=0为更新操作 <br/> * 如果path为文件,则更新path对应的文件;<br/> * 如果path为目录,则更新path对应的目录信息,但不更新path下的文件。<br/> 2. key为path,value为path删除的meta信息,meta中“isdelete!=0”为删除操作。<br/> * isdelete=1 该文件被永久删除;<br/> * isdelete=-1 该文件被放置进回收站;<br/> * 如果path为文件,则删除该path对应的文件;<br/> * 如果path为目录,则删除该path对应的目录和目录下的所有子目录和文件;<br/> * 如果path在本地没有任何记录,则跳过本删除操作。 | 908 | has_more | boolean | * True: 本次调用diff接口,增量更新结果服务器端无法一次性返回,客户端可以立刻再调用一次diff接口获取剩余结果;<br/> * False: 截止当前的增量更新结果已经全部返回,客户端可以等待一段时间(1-2分钟)之后再diff一次查看是否有更新。 | 909 | reset | boolean | * True: 服务器通知客户端,服务器端将按时间排序从第一条开始向客户端返回一份完整的数据列表;<br/> * False:返回上次请求返回cursor之后的增量更新结果。 | 910 | cursor | string | 用于下一次调用diff接口时传入的断点参数。 | 911 912 #### 示例 913 914 ##### 请求示例 915 916 *First time: cursor=null 917 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=diff&access_token=1.54bef91df2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&cursor=null 918 919 *Next every time: cursor={cursor from last response} 920 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=diff&access_token=1.54bef91df2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&cursor=MxKx6UPi3w2Jt%2B%2BktMKKQpBbnC%2B11aH7Ec9pt%2BfteS%2F%2BknWrp3JIz%2F6fXHccEkZo2kkkSH748hScdRgcA4VCZJuCMQMvNkXAlSmzT5TwqBVc3xwhSxaFkClqbcogAOc8I0k7xtTb9nG6rBJsxNgRFgBV4F695TkrLDHYHRy%2BQ%3D%3D 921 922 ##### 响应示例 923 924 { 925 "entries": { 926 "\/baiduapp\/browser": { 927 "fs_id": 2427025269, 928 "path": "\/baiduapp\/browser", 929 "size": 0, 930 "isdir": 1, 931 "md5": "", 932 "mtime": 1336631762, 933 "ctime": 1336631762 934 } 935 }, 936 "has_more": true, 937 "reset": true, 938 "cursor": "MxKx6UPie/9WzBkwALPrVWQlyxlmK0LgHG8zutwXp8oyC/ngIdGgS3w2Jt++ktMKKQpBbnC+11aH7Ec9pt+fteS/+knWrp3JIz/6fXHccEkZo2kkkSH748hScdRgcA4VCZJuCMQMvNkXAlSmzT5TwqBVc3xwhSxaFkClqbcogAOc8I0k7xtTb9nG6rBJsxNgRFgBV4F695TkrLDHYHRy+Q==", 939 "request_id": 3355443548 940 } 941 942 ### 视频转码 943 944 #### 功能 945 946 对视频文件进行转码,实现实时观看视频功能。 可下载支持HLS/M3U8的[媒体云播放器SDK](http://developer.baidu.com/wiki/index.php?title=docs/cplat/media/sdk)配合使用。 947 948 #### HTTP请求方式 949 950 GET 951 952 #### URL 953 954 https://pcs.baidu.com/rest/2.0/pcs/file 955 956 #### 请求参数 957 958 | 参数名称 | 类型 | 是否必需 | 描述 | 959 | :- | :-: | :-: | :- | 960 | method | string | 是 | 固定值:streaming。 | 961 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 962 | path | string | 是 | 需要下载的视频文件路径,以/开头的绝对路径,需含源文件的文件名。 <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 963 | type | string | 是 | 目前支持以下格式:<br/> * M3U8_320_240、M3U8_480_224、M3U8_480_360、M3U8_640_480和M3U8_854_480 | 964 965 #### 注意 966 967 目前这个接口支持的源文件格式如下: 968 969 | 格式名称 | 扩展名 | 备注 | 970 | :- | :- | :- | 971 | Apple HTTP Live Streaming | m3u8/m3u | iOS支持的视频格式 | 972 | ASF | asf | 视频格式 | 973 | AVI | avi | 视频格式 | 974 | Flash Video (FLV) | flv | Macromedia Flash视频格式 | 975 | GIF Animation | gif | 视频格式 | 976 | Matroska | mkv | Matroska/WebM视频格式 | 977 | MOV/QuickTime/MP4 | mov/mp4/m4a/3gp/3g2/mj2 | 支持3GP、3GP2、PSP、iPod 之类视频格式 | 978 | MPEG-PS (program stream) | mpeg | 也就是VOB文件、SVCD DVD格式 | 979 | MPEG-TS (transport stream) | ts | 即DVB传输流 | 980 | RealMedia | rm/rmvb | Real视频格式 | 981 | WebM | webm | Html视频格式 | 982 983 #### 返回参数 984 985 无 986 987 #### 示例 988 989 ##### 请求示例 990 991 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=streaming&path=%2fapps%2fvideo%2fv1.mov&access_token=b778fb000c717c0ad7ea8c97c8f3a46f&type=MP4_480P 992 993 ##### 响应示例 994 995 直接返回文件内容 996 997 ### 获取流式文件列表 998 999 #### 功能 1000 1001 以视频、音频、图片及文档四种类型的视图获取所创建应用程序下的文件列表。 1002 1003 #### HTTP请求方式 1004 1005 GET 1006 1007 #### URL 1008 1009 https://pcs.baidu.com/rest/2.0/pcs/stream 1010 1011 #### 请求参数 1012 1013 | 参数名称 | 类型 | 是否必需 | 描述 | 1014 | :- | :-: | :-: | :- | 1015 | method | string | 是 | 固定值:list。 | 1016 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1017 | type | string | 是 | 类型分为video、audio、image及doc四种。 | 1018 | start | string | 否 | 返回条目控制起始值,缺省值为0。 | 1019 | limit | string | 否 | 返回条目控制长度,缺省为1000,可配置。 | 1020 | filter_path | string | 否 | 需要过滤的前缀路径,如:/apps/album <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 1021 1022 #### 返回参数 1023 1024 | 参数名称 | 类型 | 描述 | 1025 | :- | :-: | :- | 1026 | total | uint | 文件总数。 | 1027 | start | uint | 起始数。 | 1028 | limit | uint | 获取数。 | 1029 | path | string | 获取流式文件的绝对路径。 | 1030 | block_list | string | 分片MD5列表。 | 1031 | size | uint | 流式文件的文件大小(byte)。 | 1032 | mtime | uint | 流式文件在服务器上的修改时间 。 | 1033 | ctime | uint | 流式文件在服务器上的创建时间 。 | 1034 | fs_id | uint64 | 流式文件在PCS中的唯一标识ID 。 | 1035 | isdir | uint | * 0:文件 <br/> * 1:目录 | 1036 1037 #### 示例 1038 1039 ##### 请求示例 1040 1041 GET https://pcs.baidu.com/rest/2.0/pcs/stream?method=list&type=image&start=50&limit=100&access_token=b778fb000c717c0ad7ea8c97c8f3a46f 1042 1043 ##### 响应示例 1044 1045 { 1046 "total": 13, 1047 "start": 0, 1048 "limit": 1, 1049 "list": [{ 1050 "path": "/apps/album/1.jpg", 1051 "size": 372121, 1052 "ctime": 1234567890, 1053 "mtime": 1234567890, 1054 "md5": "cb123afcc12453543ef", 1055 "fs_id": 12345, 1056 "isdir": 0 1057 }] 1058 } 1059 1060 ### 下载流式文件 1061 1062 #### 功能 1063 1064 为当前用户下载一个流式文件。其参数和返回结果与下载单个文件的相同。 1065 1066 #### HTTP请求方式 1067 1068 GET 1069 1070 #### URL 1071 1072 https://pcs.baidu.com/rest/2.0/pcs/stream 1073 1074 #### 注意 1075 1076 1. 兼容原有域名pcs.baidu.com;使用新域名d.pcs.baidu.com,则提供更快、更稳定的下载服务。 1077 2. 需注意处理好 302 跳转问题。 1078 1079 #### 请求参数 1080 1081 | 参数名称 | 类型 | 是否必需 | 描述 | 1082 | :- | :-: | :-: | :- | 1083 | method | string | 是 | 固定值:download。 | 1084 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1085 | path | string | 是 | 需要下载的文件路径,以/开头的绝对路径,含文件名。 <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 1086 1087 #### 返回参数 1088 1089 无 1090 1091 #### 示例 1092 1093 ##### 请求示例 1094 1095 GET https://pcs.baidu.com/rest/2.0/pcs/stream?method=download&access_token=b778fb000c717c0ad7ea8c97c8f3a46f&path=%2fapps%2falbum%2f1.jpg 1096 1097 ##### 响应示例 1098 1099 流式文件内容 1100 1101 ### 秒传文件 1102 1103 #### 功能 1104 1105 秒传一个文件。 1106 注意: 1107 * 被秒传文件必须大于256KB(即 256*1024 B)。 1108 * 校验段为文件的前256KB,秒传接口需要提供校验段的MD5。(非强一致接口,上传后请等待1秒后再读取) 1109 1110 #### HTTP请求方式 1111 1112 POST 1113 1114 #### URL 1115 1116 https://pcs.baidu.com/rest/2.0/pcs/file 1117 1118 #### 请求参数 1119 1120 | 参数名称 | 类型 | 是否必需 | 描述 | 1121 | :- | :-: | :-: | :- | 1122 | method | string | 是 | 固定值:rapidupload。 | 1123 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1124 | path | string | 是 | 上传文件的全路径名。 <br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B| 1125 | content-length | int | 是 | 待秒传的文件长度。 | 1126 | content-md5 | string | 是 | 待秒传的文件的MD5。 | 1127 | slice-md5 | string | 是 | 待秒传文件校验段的MD5。 | 1128 | content-crc32 | string | 是 | 待秒传文件CRC32 | 1129 | ondup | string | 否 | * overwrite:表示覆盖同名文件;<br/> * newcopy:表示生成文件副本并进行重命名,命名规则为“文件名_日期.后缀”。 | 1130 1131 #### 返回参数 1132 1133 | 参数名称 | 类型 | 描述 | 1134 | :- | :-: | :- | 1135 | path | string | 秒传文件的绝对路径。 | 1136 | size | uint64 | 秒传文件的字节大小 。 | 1137 | ctime | uint64 | 秒传文件的创建时间。 | 1138 | mtime | uint64 | 秒传文件的修改时间 。 | 1139 | md5 | string | 秒传文件的md5签名。 | 1140 | fs_id | uint64 | 秒传文件在PCS的唯一标识ID。 | 1141 | isdir | uint | * 0:文件 <br/> * 1:目录 | 1142 1143 #### 示例 1144 1145 ##### 请求示例 1146 1147 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=rapidupload&access_token=b778fb000c717c0ad7ea8c97c8f3a46f&content-length=1542719&content-md5=3edf3d47292280e0182db6750bd176e5&slice-md5=6fce289cfee3e4414788dcd000a3ddc4&path=%2fa%2fb%2fc 1148 1149 ##### 响应示例 1150 1151 { 1152 "path": "/apps/album/1.jpg", 1153 "size": 372121, 1154 "ctime": 1234567890, 1155 "mtime": 1234567890, 1156 "md5": "cb123afcc12453543ef", 1157 "fs_id": 12345, 1158 "isdir": 0, 1159 "request_id": 12314124 1160 } 1161 1162 ### 添加离线下载任务 1163 1164 #### 功能 1165 1166 添加离线下载任务,实现单个文件离线下载。 1167 1168 #### HTTP请求方式 1169 1170 POST 1171 1172 #### URL 1173 1174 https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl 1175 1176 #### 请求参数 1177 1178 | 参数名称 | 类型 | 是否必需 | 描述 | 1179 | :- | :-: | :-: | :- | 1180 | method | string | 是 | 固定值:add_task。 | 1181 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1182 | expires | int | 否 | 请求失效时间,如果有,则会校验。 | 1183 | save_path | string | 是 | 下载后的文件保存路径。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B | 1184 | source_url | string | 是 | 源文件的URL。 | 1185 | rate_limit | int | 否 | 下载限速,默认不限速。 | 1186 | timeout | int | 否 | 下载超时时间,默认3600秒。 | 1187 | callback | string | 否 | 下载完毕后的回调,默认为空。 | 1188 1189 #### 返回参数 1190 1191 任务ID号 1192 1193 #### 示例 1194 1195 ##### 请求示例 1196 1197 POST https://pcs.baidu.com/rest/2.0/pcs/service/cloud_dl?method=add_task&access_token=40001fsdjfdjskaf&source_url=http:\/\/dl_dir.qq.com:80\/qqfile\/qq\/QQ2012\/QQ2012.exe 1198 1199 ##### 响应示例 1200 1201 任务ID号成功: 1202 {"task_id":432432432432432,"request_id":3372220525} 1203 任务并发太大: 1204 {"error_code":36013,"error_msg":"too many tasks","request_id":3372220539} 1205 1206 ### 精确查询离线下载任务 1207 1208 #### 功能 1209 1210 根据任务ID号,查询离线下载任务信息及进度信息。 1211 1212 #### HTTP请求方式 1213 1214 POST 1215 1216 #### URL 1217 1218 https://pcs.baidu.com/rest/2.0/pcs/service/cloud_dl 1219 1220 #### 请求参数 1221 1222 | 参数名称 | 类型 | 是否必需 | 描述 | 1223 | :- | :-: | :-: | :- | 1224 | method | string | 是 | 固定值:query_task。 | 1225 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1226 | expires | int | 否 | 请求失效时间,如果有,则会校验。 | 1227 | task_ids | string | 是 | 要查询的任务ID信息,如:1,2,3,4 | 1228 | op_type | int | 是 | * 0:查任务信息 <br/> * 1:查进度信息,默认为1 | 1229 1230 #### 返回参数 1231 1232 无 1233 1234 #### 示例 1235 1236 ##### 请求示例 1237 1238 POST https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl?method=query_task&access_token=43000fsdjfdjskaf 1239 1240 ##### Body示例 1241 1242 查询任务信息: 1243 { 1244 “request_id”:12394838223, 1245 “task_info”: 1246 { 1247 “123456” : { 1248 "result" : 0, //0查询成功,结果有效,1要查询的task_id不存在 1249 "source_url":"http://www.example.com/xxx.zip",//下载数据源地址 1250 "save_path":"http://xxxx/",//下载完成后的存放地址 1251 "rate_limit":10, 1252 "timeout": 3600, 1253 "callback":"http://XXX", 1254 "status":1 (0下载成功,1下载进行中 2系统错误,3资源不存在,4下载超时,5资源存在但下载失败 6存储空间不足 7目标地址数据已存在 8任务取消) 1255 "create_time":"UNIX_TIMESTAMP",//任务创建时间 1256 } 1257 “43829483”: 1258 { 1259 "result" : 1, //要查询的task_id不存在 1260 } 1261 } 1262 } 1263 查询进度信息: 1264 { 1265 “request_id”:12394838223, 1266 “task_info”: 1267 { 1268 “123456” : { 1269 "result" : 0, //0查询成功,结果有效,1要查询的task_id不存在 1270 "status": (0下载成功,1下载进行中 2系统错误,3资源不存在,4下载超时,5资源存在但下载失败 6存储空间不足 7任务取消) 1271 //其余字段,在status为0、1时有效 1272 "file_size":1024 1273 "finished_size":512 1274 "create_time": 123232132, 1275 "start_time": 43728943, 1276 "finish_time": 43728948, 1277 } 1278 “43829483”: 1279 { 1280 "result" : 1, //要查询的task_id不存在 1281 } 1282 } 1283 } 1284 1285 ##### 响应示例 1286 1287 任务信息或进度信息 1288 1289 ### 查询离线下载任务列表 1290 1291 #### 功能 1292 1293 查询离线下载任务ID列表及任务信息。 1294 1295 #### HTTP请求方式 1296 1297 POST 1298 1299 #### URL 1300 1301 https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl 1302 1303 #### 请求参数 1304 1305 | 参数名称 | 类型 | 是否必需 | 描述 | 1306 | :- | :-: | :-: | :- | 1307 | method | string | 是 | 固定值:list_task。 | 1308 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1309 | expires | int | 否 | 请求失效时间,如果有,则会校验。 | 1310 | start | int | 否 | 查询任务起始位置,默认为0。 | 1311 | limit | int | 否 | 设定返回任务数量,默认为10。 | 1312 | asc | int | 否 | * 0:降序,默认值 <br/> * 1:升序 | 1313 | source_url | string | 否 | 源地址URL,默认为空。 | 1314 | save_path | string | 否 | 文件保存路径,默认为空。<br/>注意:<br/> * 路径长度限制为1000 <br/> * 路径中不能包含以下字符:\\ ? \| " > < : * <br/> * 文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: \r, \n, \t, 空格, \0, \x0B | 1315 | create_time | int | 否 | 任务创建时间,默认为空。 | 1316 | status | int | 否 | 任务状态,默认为空。 | 1317 | need_task_info | int | 否 | 是否需要返回任务信息: <br/> * 0:不需要 <br/> * 1:需要,默认为1 | 1318 1319 #### 返回参数 1320 1321 任务信息或任务列表 1322 1323 #### 示例 1324 1325 ##### 请求示例 1326 1327 查询离线下载任务ID列表 1328 POST https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl?method=list_task&access_token=43000fsdjfdjskaf&need_task_info=1 1329 1330 ##### 响应示例 1331 1332 任务列表 1333 {"task_info":[{"task_id":"26"}],"total":"1","request_id":1283164486} 1334 任务信息 1335 {"task_info":[{"task_id":"26","source_url":"http:\/\/dl_dir.qq.com:80\/qqfile\/qq\/QQ2012\/QQ2012.exe","save_path":"\/apps\/Slideshow\/wu_jing_test0","rate_limit":"100","timeout":"10000","callback":"http:\/\/www.baidu.com","status":"1","create_time":"1347449048"}],"total":"1","request_id":1285732167} 1336 1337 ### 取消离线下载任务 1338 1339 #### 功能 1340 1341 取消离线下载任务。 1342 1343 #### HTTP请求方式 1344 1345 POST 1346 1347 #### URL 1348 1349 https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl 1350 1351 #### 请求参数 1352 1353 | 参数名称 | 类型 | 是否必需 | 描述 | 1354 | :- | :-: | :-: | :- | 1355 | method | string | 是 | 固定值:cancel_task。 | 1356 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1357 | expires | int | 否 | 请求失效时间,如果有,则会校验。 | 1358 | task_id | string | 是 | 要取消的任务ID号。 | 1359 1360 #### 返回参数 1361 1362 任务信息或任务列表 1363 1364 #### 示例 1365 1366 ##### 请求示例 1367 1368 POST https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl?method=cancel_task&access_token=43000fsdjfdjskaf&task_id=26 1369 1370 ##### 响应示例 1371 1372 { 1373 “request_id”:12394838223, 1374 } 1375 1376 ### 回收站 1377 1378 #### 功能 1379 1380 回收站用于临时存放删除文件,且不占空间配额;但回收站的文件存放具有10天有效期,删除文件默认扔到回收站,10天内可通过回收站找回,逾期永久删除。 1381 1382 回收站功能,目前支持以下几种操作和接口: 1383 1384 * 删除文件到回收站: delete 1385 (目前默认是删除到回收站),API详细说明请参考“删除单个文件或目录”及“批量删除文件或目录”部分 1386 * 查看回收站文件: listrecycle 1387 * 还原回收站文件(单个文件或多个文件): restore 1388 * 清空回收站:delete 1389 1390 ### 查询回收站文件 1391 1392 #### 功能 1393 1394 获取回收站中的文件及目录列表。 1395 1396 #### HTTP请求方式 1397 1398 GET 1399 1400 #### URL 1401 1402 https://pcs.baidu.com/rest/2.0/pcs/file 1403 1404 #### 请求参数 1405 1406 | 参数名称 | 类型 | 是否必需 | 描述 | 1407 | :- | :-: | :-: | :- | 1408 | method | string | 是 | 固定值:listrecycle。 | 1409 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1410 | start | int | 否 | 返回条目的起始值,缺省值为0 | 1411 | limit | int | 否 | 返回条目的长度,缺省值为1000 | 1412 1413 #### 返回参数 1414 1415 获取成功,返回回收站文件或目录列表信息 1416 1417 | 参数名称 | 描述 | 1418 | :- | :- | 1419 | list | list是一个数组,以JSON串的形式显示所获取到的回收站文件或目录的具体信息,详细信息参考下面的“list数组元素说明”。 | 1420 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1421 1422 list数组中的元素说明如下: 1423 1424 | 参数名称 | 类型 | UrlEncode | 描述 | 1425 | :- | :-: | :-: | :- | 1426 | fs_id | uint64 | 否 | 目录在PCS上的临时唯一标识 | 1427 | path | string | 是 | 该目录的绝对路径 | 1428 | ctime | uint | 否 | 文件在服务器上的创建时间 | 1429 | mtime | uint | 否 | 文件在服务器上的修改时间 | 1430 | md5 | string | 否 | 分片MD5 | 1431 | size | uint | 否 | 文件大小(byte) | 1432 | isdir | uint | 否 | 是否是目录的标识符:<br/> * “0”为文件 <br/> * “1”为目录 | 1433 1434 获取失败,则返回错误信息 1435 1436 | 参数名称 | 描述 | 1437 | :- | :- | 1438 | error_code | 错误码,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1439 | error_msg | 错误信息,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1440 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1441 1442 #### 示例 1443 1444 ##### 请求示例 1445 1446 GET https://pcs.baidu.com/rest/2.0/pcs/file?method=listrecycle&start=50&limit=100&access_token=111f1118c717111a8111c8f3a46f 1447 1448 ##### 响应示例 1449 1450 获取成功: 1451 { 1452 "list":[ 1453 { 1454 "fs_id":1579174, 1455 "path":"\/apps\/CloudDriveDemo\/testfile-10.rar", 1456 "ctime":1361934614, 1457 "mtime":1361934625, 1458 "md5":"1131170ac11cfbec411a5e8d4e111769", 1459 "size":10730431, 1460 "isdir":0 1461 }, 1462 { 1463 "fs_id":304521061, 1464 "path":"\/apps\/CloudDriveDemo\/testfile-4.rar", 1465 "ctime":1361934605, 1466 "mtime":1361934625, 1467 "md5":"9552bf5e5abdf962e2de94be243bec7c", 1468 "size":4287611, 1469 "isdir":0 1470 } 1471 ], 1472 "request_id":3779302504 1473 } 1474 获取失败: 1475 {"error_code":110,"error_msg":"Access token invalid or no longer valid","request_id":1444638699} 1476 1477 ### 还原单个文件或目录 1478 1479 #### 功能 1480 1481 还原单个文件或目录(非强一致接口,调用后请sleep 1秒读取) 1482 1483 #### HTTP请求方式 1484 1485 POST 1486 1487 #### URL 1488 1489 https://pcs.baidu.com/rest/2.0/pcs/file 1490 1491 #### 请求参数 1492 1493 | 参数名称 | 类型 | 是否必需 | 描述 | 1494 | :- | :-: | :-: | :- | 1495 | method | string | 是 | 固定值:restore。 | 1496 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1497 | fs_id | string | 是 | 所还原的文件或目录在PCS的临时唯一标识ID。 | 1498 1499 #### 返回参数 1500 1501 还原成功时,返回以下参数 1502 1503 | 参数名称 | 描述 | 1504 | :- | :- | 1505 | extra | extra由list数组组成,list数组中包含一个元素fs_id,即文件或目录在PCS的临时唯一标识ID。 | 1506 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1507 1508 还原失败,则返回错误信息 1509 1510 | 参数名称 | 描述 | 1511 | :- | :- | 1512 | error_code | 错误码,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1513 | error_msg | 错误信息,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1514 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1515 1516 #### 示例 1517 1518 ##### 请求示例 1519 1520 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=restore&fs_id=123456&access_token=111f1118c717111a8111c8f3a46f 1521 1522 ##### 响应示例 1523 1524 还原成功 1525 {"extra":{"list":[{"fs_id":"1356099017"}]},"request_id":3775323016} 1526 还原失败 1527 {"error_code":31061,"error_msg":"file already exists","request_id":811204199} 1528 1529 ### 批量还原文件或目录 1530 1531 #### 功能 1532 1533 批量还原文件或目录(非强一致接口,调用后请sleep1秒 ) 1534 1535 #### HTTP请求方式 1536 1537 POST 1538 1539 #### URL 1540 1541 https://pcs.baidu.com/rest/2.0/pcs/file 1542 1543 #### 请求参数 1544 1545 | 参数名称 | 类型 | 是否必需 | 描述 | 1546 | :- | :-: | :-: | :- | 1547 | method | string | 是 | 固定值:restore。 | 1548 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1549 | param | string | 是 | Body中的JSON串,用于批量处理 | 1550 1551 #### 返回参数 1552 1553 | 参数名称 | 描述 | 1554 | :- | :- | 1555 | error_code | 错误码,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1556 | error_msg | 错误信息,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1557 | extra | extra由list数组组成,list数组中包含一个元素fs_id,即文件或目录ID | 1558 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1559 1560 说明: 1561 * 全部还原成功的情况下,返回extra及request_id信息; 1562 * 还原多个文件或目录时,如果还原某个文件或目录失败,则报错并终止还原操作,返回error_code、error_msg、extra及request_id信息; 1563 * 其中,如果未成功还原任何文件时,返回的extra中的list数组为空; 1564 * 部分文件或目录还原成功时,则返回的extra中list数组中显示该部分文件的fs_id。 1565 1566 #### 示例 1567 1568 ##### 请求示例 1569 1570 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=restore&access_token=111f1118c717111a8111c8f3a46f.2592000.1364548100.3123371436-248414¶m={"list":[{"fs_id":"4059450057"},{"fs_id":"2959141864"}]} 1571 1572 ##### 响应示例 1573 1574 全部还原成功 1575 {"extra":{"list":[{"fs_id":"2959141864"}],"request_id":1359873129} 1576 全部还原失败 1577 {"error_code":31061,"error_msg":"file already exists","extra":{"list":[]},"request_id":1342759216} 1578 部分还原成功 1579 {"error_code":31061,"error_msg":"file already exists","extra":{"list":[{"fs_id":"2959141864"}]},"request_id":1359873129} 1580 1581 ### 清空回收站 1582 1583 #### 功能 1584 1585 清空回收站 1586 1587 #### HTTP请求方式 1588 1589 POST 1590 1591 #### URL 1592 1593 https://pcs.baidu.com/rest/2.0/pcs/file 1594 1595 #### 请求参数 1596 1597 | 参数名称 | 类型 | 是否必需 | 描述 | 1598 | :- | :-: | :-: | :- | 1599 | method | string | 是 | 固定值为delete | 1600 | access_token | string | 是 | 开发者准入标识,HTTPS调用时必须使用。 | 1601 | type | string | 是 | 固定值为recycle | 1602 1603 #### 返回参数 1604 1605 清空成功,返回请求ID 1606 1607 | 参数名称 | 描述 | 1608 | :- | :- | 1609 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1610 1611 清空失败,则返回错误信息 1612 1613 | 参数名称 | 描述 | 1614 | :- | :- | 1615 | error_code | 错误码,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1616 | error_msg | 错误信息,详见“[文件API错误码列表](https://github.com/qjfoidnh/BaiduPCS-Go/blob/master/docs/file_data_apis_error.md)” | 1617 | request_id | 请求ID,也就是服务器用于追踪错误的的日志ID | 1618 1619 #### 示例 1620 1621 ##### 请求示例 1622 1623 POST https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&type=recycle&access_token=111f1118c717111a8111c8f3a46f 1624 1625 ##### 响应示例 1626 1627 清空成功 1628 {"request_id":2307473052} 1629 清空失败 1630 {"error_code":31070,"error_msg":"file delete failed","request_id":12345678}