百度网盘API的操作--PCS 百度个人云存储 上传 ,下载文件

来源:互联网 发布:软件测试职业发展规划 编辑:程序博客网 时间:2024/05/07 07:36

前言: 

上一篇文章讲到了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(){@Overridepublic void onProgress(long bytes, long total) {// TODO Auto-generated method stubfinal 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();    }    });}@Overridepublic 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



2 0
原创粉丝点击