目录:
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=1.54be391000a16ee6a21791d4a8ea04fe.86400.1331206383.67272939-188383
响应示例:
{
"quota": 15000000000,
"used": 5221166,
"request_id": 4043312634
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.quota()
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&path=%2fapps%2falbum%2f1.JPG&access_token=b778fb598c717c0ad7ea8c97c8f3a46f
响应示例:
{
"path": "/apps/album/1.jpg",
"size": 372121,
"ctime": 1234567890,
"mtime": 1234567890,
"md5": "cb123afcc12453543ef",
"fs_id": 12345,
"request_id": 4043312669
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.upload('hello', path='/apps/appname/hello.txt')
请求示例:
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&access_token=1.54bef000f2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&type=tmpfile
响应示例:
{
"md5":"a7619410bca74850f985e488c9a0d51e",
"request_id":3238563823
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.upload('hello', path='/apps/appname/hello.txt')
路径长度限制为1000
路径中不能包含以下字符:\ ? | ” > < : *
文件名或路径名开头结尾不能是“.”或空白字符,空白字符包括: r, n, t, 空格, 0, x0B
本参数必须放在Http Body中进行传输,value示例::
{"block_list":
[
"d41d8cd98f00b204e9800998ecf8427e",
"89dfb274b42951b973fc92ee7c252166",
"1c83fe229cb9b1f6116aa745b4ef3c0d"
]}
请求示例:
POST https://pcs.baidu.com/rest/2.0/file?method=createsuperfile&path=%2fapps%2fyunform%2f6ddddd.JPG&access_token=1.9fb09e8cce44c0d000e6787138924a26.86400.1331273905.2600617452-188383
响应示例:
{
"path":"/apps/yunform/6ddddd.JPG",
"size":6844,
"ctime":1331197101,
"mtime":1331197101,
"md5":"baa7c379639b74e9bf98c807498e1b64",
"fs_id":1548308694,
"request_id":4043313276
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
param = {"block_list": [
"d41d8cd98f00b204e9800998ecf8427e",
"89dfb274b42951b973fc92ee7c252166",
"1c83fe229cb9b1f6116aa745b4ef3c0d"
]}
print disk.merge('/apps/appname/hello.txt', param=param)
请求示例::
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
响应示例:
- 文件内容
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.download(path='/apps/appname/hello.txt')
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=mkdir&access_token=1.54bef000f2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fmusic
响应示例:
{
"fs_id":1636599174,
"path":"/apps/yunfom/music",
"ctime":1331183814,
"mtime":1331183814,
"request_id":4043312656
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.mkdir('/apps/appname/dirname')
请求示例::
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
响应示例:
{
"list": [
{
"fs_id": 3528850315,
"path": "/apps/yunform/music/hello",
"ctime": 1331184269,
"mtime": 1331184269,
"block_list": [
"59ca0efa9f5633cb0371bbc0355478d8"
],
"size": 13,
"isdir": 1
}
],
"request_id": 4043312678
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.meta('/apps/appname/filename')
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=meta&access_token=1.54b0091ee2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383
响应示例:
{
"list": [
{
"fs_id": 3528850315,
"path": "/apps/album/a/b/c",
"ctime": 1331184269,
"mtime": 1331184269,
"block_list": [
"59ca0efa9f5633cb0371bbc0355478d8"
],
"size": 13,
"isdir": 0
},
{
"fs_id": 3528850320,
"path": "/apps/album/a/b/d",
"ctime": 1331184269,
"mtime": 1331184269,
"block_list": [
"59ca0efa9f5633cb0371bbc0355478d8"
],
"size": 13,
"isdir": 0
}
],
"request_id": 4043312678
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.mmeta(json.dumps({"list": [{"path": "/apps/appname/"}]}))
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token=1.54bef91002416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fhello
响应示例:
{
"list": [
{
"fs_id": 3528850315,
"path": "/apps/yunform/music/hello",
"ctime": 1331184269,
"mtime": 1331184269,
"block_list": [
"59ca0efa9f5633cb0371bbc0355478d8"
],
"size": 13,
"isdir": 0
}
],
"request_id": 4043312670
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.ls("/apps/appname/")
请求示例::
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
响应示例:
{
"extra": {
"list": [
{
"to": "/apps/pcstest_oauth/test2/2.jpg",
"from": "/apps/pcstest_oauth/test1/yyyytestwer.jpg"
}
]
},
"request_id": 2298812844
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.mv("/apps/appname/hello.txt", "/apps/appname/hello.txt.bak")
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=move&access_token=b778fb500c717c0ad7ea8c97c8f3a46f
响应示例:
{
"extra": {
"list": [
{
"to": "/apps/pcstest_oauth/test2/2.jpg",
"from": "/apps/pcstest_oauth/test1/yyyytestwer.jpg"
}
]
},
"request_id": 2298812844
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
param = {"list": [{"from": "/apps/appname/hello.txt.bak",
"to": "/apps/appname/hello.txt.bak.bak"},
{"from": "/apps/appname/dirs",
"to": "/apps/appname/dirsbak"}]}
print disk.mmv(json.dumps(param))
请求示例::
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
响应示例:
{
"extra": {
"list": [
{
"to": "/apps/pcstest_oauth/test2/6.jpg",
"from": "/apps/pcstest_oauth/test1/6.jpg"
}
]
},
"request_id": 2298812844
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.cp("/apps/appname/hello.txt", "/apps/appname/world.txt")
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=copy&access_token=b778fb008c717c0ad7ea8c97c8f3a46f
响应示例:
{
"extra": {
"list": [
{
"to": "/apps/pcstest_oauth/test1/6.jpg",
"from": "/apps/pcstest_oauth/test2/6.jpg"
},
{
"to": "/apps/pcstest_oauth/test2/89.jpg",
"from": "/apps/pcstest_oauth/89.jpg"
}
]
},
"request_id": 2166619191
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
param = {"list": [{"from": "/apps/appname/hello.txt.bak",
"to": "/apps/appname/hello.txt.bak.bak"},
{"from": "/apps/appname/dirs",
"to": "/apps/appname/dirsbak"}]}
print disk.mcp(json.dumps(par))
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&access_token=1.54bef91002416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&path=%2Fapps%2Fyunform%2Fmusic
响应示例:
{
"request_id":4043312866
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.rm('/apps/appname/hello.txt.bak')
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&access_token=1.54bef91002416ee4a41791d400ea04fe.86400.1331206383.67272939-188383
响应示例:
{
"request_id":4043312865
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
par = {"list": [{"path": "/apps/appname/hello.txt1"},
{"path": "/apps/appname/dirs"}]}
print disk.mrm(json.dumps(par))
请求示例::
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
响应示例:
{
"list":[{"fs_id":3528850315,
"path":"/apps/yunform/music/hello",
"ctime":1331184269,
"mtime":1331184269,
"block_list":["59ca0efa9f5633cb0371bbc0355478d8"],
"size":13,
"isdir":0
}],
"request_id":4043312670
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.grep('hello', '/apps/appname/')
print disk.search('hello', '/apps/appname/')
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/thumbnail?method=generate&path=%2Fapps%2Fpcstest_oauth%2FSunset.jpg&quality=100&width=1600&height=1600
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.thumb('/apps/appname/1.png', 100, 100)
参数名称 类型 描述
如果path为文件,则更新path对应的文件; 如果path为目录,则更新path对应的目录信息,但不更新path下的文件。 2. key为path,value为path删除的meta信息,meta中“isdelete!=0”为删除操作。
isdelete=1 该文件被永久删除; isdelete=-1 该文件被放置进回收站; 如果path为文件,则删除该path对应的文件; 如果path为目录,则删除该path对应的目录和目录下的所有子目录和文件; 如果path在本地没有任何记录,则跳过本删除操作。 has_more boolean True: 本次调用diff接口,增量更新结果服务器端无法一次性返回,客户端可以立刻再调用一次diff接口获取剩余结果; False: 截止当前的增量更新结果已经全部返回,客户端可以等待一段时间(1-2分钟)之后再diff一次查看是否有更新。 reset boolean True: 服务器通知客户端,服务器端将按时间排序从第一条开始向客户端返回一份完整的数据列表; False:返回上次请求返回cursor之后的增量更新结果。 cursor string 用于下一次调用diff接口时传入的断点参数。
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/file?method=diff&access_token=1.54bef91df2416ee4a41791d4a8ea04fe.86400.1331206383.67272939-188383&cursor=null
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
响应示例:
{
"entries": {
"/baiduapp/browser": {
"fs_id": 2427025269,
"path": "/baiduapp/browser",
"size": 0,
"isdir": 1,
"md5": "",
"mtime": 1336631762,
"ctime": 1336631762
}
},
"has_more": true,
"reset": true,
"cursor": "MxKx6UPie%2F9WzBkwALPrVWQlyxlmK0LgHG8zutwXp8oyC%2FngIdGgS3w2Jt%2B%2BktMKKQpBbnC%2B11aH7Ec9pt%2BfteS%2F%2BknWrp3JIz%2F6fXHccEkZo2kkkSH748hScdRgcA4VCZJuCMQMvNkXAlSmzT5TwqBVc3xwhSxaFkClqbcogAOc8I0k7xtTb9nG6rBJsxNgRFgBV4F695TkrLDHYHRy%2BQ%3D%3D",
"request_id": 3355443548
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.diff()
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/file?method=streaming&path=%2fapps%2fvideo%2fv1.mov&access_token=b778fb000c717c0ad7ea8c97c8f3a46f&type=MP4_480P
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.streaming('/apps/appname/1.mkv')
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/stream?method=list&type=image&start=50&limit=100&access_token=b778fb000c717c0ad7ea8c97c8f3a46f
响应示例:
{
"total": 13,
"start": 0,
"limit": 1,
"list": [
{
"path": "/apps/album/1.jpg",
"size": 372121,
"ctime": 1234567890,
"mtime": 1234567890,
"md5": "cb123afcc12453543ef",
"fs_id": 12345,
"isdir": 0
}
]
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.stream(type='doc')
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/stream?method=download&access_token=b778fb000c717c0ad7ea8c97c8f3a46f&path=%2fapps%2falbum%2f1.jpg
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.downstream('/apps/appname/1.png')
请求示例::
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
响应示例:
{
"path": "/apps/album/1.jpg",
"size": 372121,
"ctime": 1234567890,
"mtime": 1234567890,
"md5": "cb123afcc12453543ef",
"fs_id": 12345,
"isdir": 0,
"request_id": 12314124
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.rapidsend('/home/solos/file',
content_length,
content_md5, slice_md5, content_crc32)
请求示例::
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
响应示例:
* 任务ID号成功:
{
"task_id": 432432432432432,
"request_id": 3372220525
}
* 任务并发太大:
{
"error_code": 36013,
"error_msg": "too many tasks",
"request_id": 3372220539
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.add_task('http://www.baidu.com', '/apps/appname/1.html')
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl?method=query_task&access_token=43000fsdjfdjskaf
返回示例::
* 查询任务信息:
{
"request_id": 12394838223,
"task_info": {
"123456": {
"result": 0,
"source_url": "http://www.example.com/xxx.zip",
"save_path": "http://xxxx/",
"rate_limit": 10,
"timeout": 3600,
"callback": "http://XXX",
"status": 1,
"create_time": "UNIX_TIMESTAMP"
},
"43829483": {
"result": 1
}
}
}
* 查询进度信息:
{
"request_id": 12394838223,
"task_info": {
"123456": {
"result": 0,
"status": 0,
"file_size": 1024,
"finished_size": 512,
"create_time": 123232132,
"start_time": 43728943,
"finish_time": 43728948
},
"43829483": {
"result": 1
}
}
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.query_task('3665778', 1)
请求示例::
* 查询离线下载任务ID列表
POST https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl?method=list_task&access_token=43000fsdjfdjskaf&need_task_info=1
响应示例:
* 任务列表
{
task_info: [
{
task_id: "26"
}
],
total: "1",
request_id: 1283164486
}
* 任务信息
{
"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
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.list_task()
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/services/cloud_dl?method=cancel_task&access_token=43000fsdjfdjskaf&task_id=26
响应示例:
{
"request_id": 12394838223,
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.cancel_task('3665778')
请求示例::
GET https://pcs.baidu.com/rest/2.0/pcs/file?method=listrecycle&start=50&limit=100&access_token=111f1118c717111a8111c8f3a46f
响应示例:
* 获取成功
{
"list": [
{
"isdir": 0,
"ctime": 1361934614,
"fs_id": 1579174,
"mtime": 1361934625,
"path": "/apps/CloudDriveDemo/testfile-10.rar",
"md5": "1131170ac11cfbec411a5e8d4e111769",
"size": 10730431
},
{
"isdir": 0,
"ctime": 1361934605,
"fs_id": 304521061,
"mtime": 1361934625,
"path": "/apps/CloudDriveDemo/testfile-4.rar",
"md5": "9552bf5e5abdf962e2de94be243bec7c",
"size": 4287611
}
],
"request_id": 3779302504
}
* 获取失败
{
"error_code": 110,
"error_msg": "Access token invalid or no longer valid",
"request_id": 1444638699
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.listrecycle()
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=restore&fs_id=123456&access_token=111f1118c717111a8111c8f3a46f
响应示例:
* 还原成功
{
"extra": {
"list": [
{
"fs_id": "1356099017"
}
]
},
"request_id": 3775323016
}
* 还原失败
{
"error_code": 31061,
"error_msg": "file already exists",
"request_id": 811204199
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.restore('4045501009')
请求示例::
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"}]}
响应示例:
* 全部还原成功
{
"extra": {
"list": [
{
"fs_id": "2959141864"
}
]
},
"request_id": 1359873129
}
* 全部还原失败
{
"error_code": 31061,
"error_msg": "file already exists",
"extra": {
"list": [ ]
},
"request_id": 1342759216
}
* 部分还原成功
{
error_code: 31061,
error_msg: "file already exists",
extra: {
list: [
{
fs_id: "2959141864"
}
]
},
request_id: 1359873129
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
param = {"list":[{"fs_id":2263172857},{"fs_id":4045501009}]}
print disk.mrestore(json.dumps(param))
请求示例::
POST https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&type=recycle&access_token=111f1118c717111a8111c8f3a46f
响应示例:
* 清空成功
{
"request_id": 2307473052
}
* 清空失败
{
"error_code":31070,
"error_msg":"file delete failed",
"request_id":12345678
}
代码示例:
from baidupan.baidupan import BaiduPan
disk = BaiduPan(access_token)
print disk.emptyrecycle()