因为最近我们的项目(数据观)需要用到百度pcs,但百度已经关闭了pcs的申请,以为没有办法了无意中发现了wp2psc,测试了一下,非常OK。
第一步:oauth认证,链接是:
http://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=CuOLkaVfoz1zGsqFKDgfvI0h&redirect_uri=oob&scope=netdisk
授权两个操作:1) 访问用户信息 2)读写用户网盘数据
第二步:用户输入自己的用户名,密码,确认授权后返回链接: http://openapi.baidu.com/oauth/2.0/login_success#expires_in=2592000&access_token=c7ef1a635cfba3dc027********84799.168178208&session_secret=2eb93fbc41198155b2daae496b1aec11&session_key=9mtqXVSgb3Eqp%2FzvNXnBxQUSmzTT9BxdNzhBVerwxy6sznJHpoFCkpQgvsV7PfTKMuKdYmfcSZN3QzuV6kj7FmW8mggNrZpY &scope=basic+netdisk
红色字部分就是我们访问api的token了, 有了这个token就可以访问百度网盘的api了。
两个测试例子
1. 搜索文件列表(GET)
https://pcs.baidu.com/rest/2.0/pcs/file?method=search&access_token=你的token&path=/apps/wp2pcs&wd=.xlsx&re=1
返回/apps/wp2pcs目录下的所有excel文件, re=1代表递归文件夹
注意:path必须要以/apps/wp2pcsk开始, 即我们只能访问apps/wp2pcs文件夹及子文件夹
请求返回值(Json)
{
"list": [
{
"fs_id": 21747376699840,
"path": "/apps/wp2pcs/test.xlsx",
"ctime": 1438442534,
"mtime": 1438490127,
"md5": "59a20e7496db0e10585a19702489b5",
"size": 500369,
"isdir": 0
},
{
"fs_id": 84900757912527,
"path": "/apps/wp2pcs/测试/test2.xlsx",
"ctime": 1438491764,
"mtime": 1438491764,
"md5": "66e6cea93ac1f107d62795accd22f5",
"size": 510794,
"isdir": 0
}
],
"request_id": 3264672369
}
2. 下载指定文件(GET)
https://d.pcs.baidu.com/rest/2.0/pcs/file?method=download&access_token=你的token&path=/apps/wp2pcs/test.xlsx
注:有人可能有疑问,为什么只能访问/apps/wp2pcs.我想访问/apps的任意目录可不可以,答案是不可以。因为wp2pcs
在申请pcs服务时,设置了服务目录是apps/wp2pcs.因此没有权限访问其它目录。