最近百度网盘将空间升级到了永久1TB,鉴于百度的实力用做数据备份空间不错,不过百度网盘没有Linux下的客户端,上传管理文件需通过百度开放云平台访问PCS资源的系列接口。
1.首先加入百度开发者:http://developer.baidu.com/dev#/create
2.任意创建一个应用获取API Key并开通PCS API权限,开放API > API管理 > API列表 > API服务 > PCS API > 开启
3.通过刚刚新建应用的API Key获取device code和user_code
1
2
|
curl -k -L -d
"client_id=<api_key>&response_type=device_code&scope=basic,netdisk"
\
"https://openapi.baidu.com/oauth/2.0/device/code"
|
4.在浏览器打开https://openapi.baidu.com/device输入获取到的user_code并连接,然后通过device code获取refresh_token和access_token:
1
2
|
curl -k -L -d
"grant_type=device_token&code=<device_code>&client_id=<api_key>&client_secret=<api_secret>"
\
"https://openapi.baidu.com/oauth/2.0/token"
|
5.此时通过access_token就可对网盘文件进行操作了,获取到access_token的有效期为30天,过期后通过refresh_token重新获取access_token
1
2
3
|
curl -k -L -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<api_key>\
&client_secret=<api_secret>"\
"https://openapi.baidu.com/oauth/2.0/token"
|
查看网盘配额:
1
2
|
curl -k -L "https:
//pcs
.baidu.com
/rest/2
.0
/pcs/quota
?method=\
info&access_token=<access_token>"
|
上传文件:
1
2
|
curl -k -L -F
"file=@haiyun.me.tar.gz"
"https:
//c
.pcs.baidu.com
/rest/2
.0
/pcs/file
?method=upload&\
access_token=<access_token>&path=
/apps/pcsupload/haiyun
.me.
tar
.gz"
|
下载文件:
1
2
|
curl -k -O "https:
//d
.pcs.baidu.com
/rest/2
.0
/pcs/file
?method=download&access_token=<access_token>&\
path=
/apps/pcsupload/haiyun
.me.
tar
.gz"
|
删除文件:
1
2
|
curl -k -L "https:
//pcs
.baidu.com
/rest/2
.0
/pcs/file
?method=delete&access_token=<access_token>\
&path=
/apps/pcsupload/haiyun
.me.
tar
.gz"
|
复制文件:
1
2
|
curl -k -L "https:
//c
.pcs.baidu.com
/rest/2
.0
/pcs/file
?method=copy&access_token=<access_token>\
&from=
/apps/pcsupload/haiyun
.me.
tar
.gz&to=
/apps/pcsupload/www
.haiyun.me.
tar
.gz"
|
列出目录内文件:
1
2
|
curl -k -L "https:
//pcs
.baidu.com
/rest/2
.0
/pcs/file
?method=list&access_token=<access_token>\
&path=
/apps/pcsupload/
"
|
更多操作:http://developer.baidu.com/wiki/index.php?title=docs/pcs/rest/file_data_apis_list