百度网盘API的操作--PCS 百度个人云存储 上传 ,下载文件
2014-10-07 17:59
381 查看
前言:
上一篇文章讲到了BCS(百度云存储)的使用方法,本篇文章继续和大家探讨PCS(个人云存储)也就是代码和个人百度网盘的交互,实现文件上传,下载的功能,两外百度云PCS的API权限批不下来?不用怕!!!此文章教你怎么做;下一篇文章会和大家探讨百度云推送技术,谢谢大家;
正文:
实现PCS的思路和原理(以Android设备开发为例):
1.既然开发者的目的是用代码实现本地文件和百度网盘之间的传输,那么就必须先将两者连接起来,那么怎么连接呢?
开发者只要获取任一百度网盘的access_token号码,并将其加入到代码的指定位置,就能使用接口API来操作此百度网盘;下文将给出详细步骤,注意百度PCS是要申请权限的,官方迟迟不给批准,实际上我们可以利用技术绕开这一步的,欲知详情,请看下文。
2.当我们已经获得了某百度网盘的access_token号码,就可以有访问百度网盘的权利,桥梁已经搭好,只剩下怎么使用百度网盘的上传接口API和下载接口API了。下文给你获取API的demo,运行即可。
详细开发步骤:
1:获取自己百度网盘的access_token号码(百度云PCS的API权限批不下来?不用怕!!!)
直接上代码分析(注释可忽略):
注意:获取自己百度网盘的access_token号码的方法test_login()已经封装好,见本段文字下边。直接可以放进Java或者Android中调用,会进入授权页面,在授权页面中填入你的百度网盘的账号和密码,就会在屏幕上显示出你的access_token号码,你可以截屏记录下来,方便下一步骤使用;
2.怎么使用上传接口API和下载接口API:
注意:注意在代码中填入你的access_token
上传文件接口API的使用:
下载文件API的使用:(今天先更到这里,有需要的留言)
另外需要所有API使用方法的请访问本人上传的资源(需要3个下载分的)链接:
http://download.csdn.net/detail/u014492257/8009789
上一篇文章讲到了BCS(百度云存储)的使用方法,本篇文章继续和大家探讨PCS(个人云存储)也就是代码和个人百度网盘的交互,实现文件上传,下载的功能,两外百度云PCS的API权限批不下来?不用怕!!!此文章教你怎么做;下一篇文章会和大家探讨百度云推送技术,谢谢大家;
正文:
实现PCS的思路和原理(以Android设备开发为例):
1.既然开发者的目的是用代码实现本地文件和百度网盘之间的传输,那么就必须先将两者连接起来,那么怎么连接呢?
开发者只要获取任一百度网盘的access_token号码,并将其加入到代码的指定位置,就能使用接口API来操作此百度网盘;下文将给出详细步骤,注意百度PCS是要申请权限的,官方迟迟不给批准,实际上我们可以利用技术绕开这一步的,欲知详情,请看下文。
2.当我们已经获得了某百度网盘的access_token号码,就可以有访问百度网盘的权利,桥梁已经搭好,只剩下怎么使用百度网盘的上传接口API和下载接口API了。下文给你获取API的demo,运行即可。
详细开发步骤:
1:获取自己百度网盘的access_token号码(百度云PCS的API权限批不下来?不用怕!!!)
直接上代码分析(注释可忽略):
注意:获取自己百度网盘的access_token号码的方法test_login()已经封装好,见本段文字下边。直接可以放进Java或者Android中调用,会进入授权页面,在授权页面中填入你的百度网盘的账号和密码,就会在屏幕上显示出你的access_token号码,你可以截屏记录下来,方便下一步骤使用;
private void test_login(){ // try { // BaiduPCSClient pcsApi = new BaiduPCSClient(); // // pcsApi.startOAuth(this, mbApiKey, new BaiduPCSClient.OAuthListener() { // // public void onException(String msg) { // // TODO Auto-generated method stub // Toast.makeText(getApplicationContext(), "Login failed " + msg, Toast.LENGTH_SHORT).show(); // } // // public void onComplete(Bundle values) { // // TODO Auto-generated method stub // if(null != values){ // mbOauth = values.getString(BaiduPCSClient.Key_AccessToken); // Toast.makeText(getApplicationContext(), "Token: " + mbOauth + " User name:" + values.getString(BaiduPCSClient.Key_UserName), Toast.LENGTH_SHORT).show(); // } // } // // public void onCancel() { // // TODO Auto-generated method stub // Toast.makeText(getApplicationContext(), "Login cancelled", Toast.LENGTH_SHORT).show(); // } // }); // // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } BaiduOAuth oauthClient = new BaiduOAuth(); oauthClient.startOAuth(this, mbApiKey, new String[]{"basic", "netdisk"}, new BaiduOAuth.OAuthListener() { public void onException(String msg) { Toast.makeText(getApplicationContext(), "Login failed " + msg, Toast.LENGTH_SHORT).show(); } public void onComplete(BaiduOAuthResponse response) { if(null != response){ mbOauth = response.getAccessToken(); Toast.makeText(getApplicationContext(), "Token: " + mbOauth + " User name:" + response.getUserName(), Toast.LENGTH_SHORT).show(); } } public void onCancel() { Toast.makeText(getApplicationContext(), "Login cancelled", Toast.LENGTH_SHORT).show(); } }); }
2.怎么使用上传接口API和下载接口API:
注意:注意在代码中填入你的access_token
上传文件接口API的使用:
private void test_upload(){ String mboauth="你的access_token号码"; if(null != mbOauth){ Thread workThread = new Thread(new Runnable(){ public void run() { //String tmpFile = "sdcard/test.jpg"; String tmpFile = "sdcard/myImage/2000001/upPhoto1.jpg";//上传文件的路径 String mbRootPath= "/apps/pcstest";//百度网盘上的路径必须以/apps/ 开头 BaiduPCSClient api = new BaiduPCSClient(); api.setAccessToken(mbOauth); final BaiduPCSActionInfo.PCSFileInfoResponse response = api.uploadFile(tmpFile, mbRootPath + "/zzz.jpg", new BaiduPCSStatusListener(){ @Override public void onProgress(long bytes, long total) { // TODO Auto-generated method stub final long bs = bytes; final long tl = total; mbUiThreadHandler.post(new Runnable(){ public void run(){ Toast.makeText(getApplicationContext(), "total: " + tl + " sent:" + bs, Toast.LENGTH_SHORT).show(); } }); } @Override public long progressInterval(){ return 1000; } }); mbUiThreadHandler.post(new Runnable(){ public void run(){ Toast.makeText(getApplicationContext(), response.status.errorCode + " " + response.status.message + " " + response.commonFileInfo.blockList, Toast.LENGTH_SHORT).show(); } }); } }); workThread.start(); } }
下载文件API的使用:(今天先更到这里,有需要的留言)
另外需要所有API使用方法的请访问本人上传的资源(需要3个下载分的)链接:
http://download.csdn.net/detail/u014492257/8009789
相关文章推荐
- 百度网盘API的操作--PCS 百度个人云存储 上传 ,下载文件
- 百度——个人云存储pcs——Android使用百度云盘(2)——创建文件夹和上传文件
- 百度——个人云存储pcs——Android使用百度云盘(2)——创建文件夹和上传文件
- 文件操作(上传,下载,限制)
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- [导入].net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- ASP.NET中对文件的操作 创建 读取 删除 上传 下载
- C# 文件操作(上传 下载 删除 文件列表...)
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- .Net 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- C# 文件操作(上传 下载 删除 文件列表...)
- 文件操作(上传,下载,限制)
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- C# 文件操作(上传 下载 删除 文件列表...)(转)
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- C# 文件操作(上传 下载 删除 文件列表...)
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载