Baidu云盘【文件API】接口学习 『一』 (二)

2014-11-24 10:58:01 · 作者: · 浏览: 1
fromJson(cloudJson, CloudInfo.class);
System.out.println("云盘信息:"+cloudInfo);
return cloudInfo;
}
[html] package com.entity;

import java.lang.reflect.Type;

/**
* @author ydcun 获取云空间的信息 例如:
* {"quota":123794882560, 空间配额,单位为字节
* "used":83573494688, 已使用空间大小 单位为字节。
* "request_id":2853739529}
*/
public class CloudInfo{
private Double quota;
private Double used;
private Double request_id;
/**
* @return the quota 空间配额,单位为字节
*/
public Double getQuota() {
return quota;
}
/**
* @param quota the quota to set 空间配额,单位为字节
*/
public void setQuota(Double quota) {
this.quota = quota;
}
/**
* @return the used 已使用空间大小 单位为字节
*/
public Double getused() {
return used;
}
/**
* @param used the used to set 已使用空间大小 单位为字节
*/
public void setused(Double used) {
this.used = used;
}
/**
* @return the request_id
*/
public Double getRequest_id() {
return request_id;
}
/**
* @param request_id the request_id to set
*/
public void setRequest_id(Double request_id) {
this.request_id = request_id;
}
@Override
public String toString() {

return new StringBuffer().append("空间容量:").append(this.getQuota()/1024/1024).append("M; 已用:").append(this.getused()/1024/1024).append("M; ").toString();
}
}

package com.entity;

import java.lang.reflect.Type;

/**
* @author ydcun 获取云空间的信息 例如:
* {"quota":123794882560, 空间配额,单位为字节
* "used":83573494688, 已使用空间大小 单位为字节。
* "request_id":2853739529}
*/
public class CloudInfo{
private Double quota;
private Double used;
private Double request_id;
/**
* @return the quota 空间配额,单位为字节
*/
public Double getQuota() {
return quota;
}
/**
* @param quota the quota to set 空间配额,单位为字节
*/
public void setQuota(Double quota) {
this.quota = quota;
}
/**
* @return the used 已使用空间大小 单位为字节
*/
public Double getused() {
return used;
}
/**
* @param used the used to set 已使用空间大小 单位为字节
*/
public void setused(Double used) {
this.used = used;
}
/**
* @return the request_id
*/
public Double getRequest_id() {
return request_id;
}
/**
* @param request_id the request_id to set
*/
public void setRequest_id(Double request_id) {
this.request_id = request_id;
}
@Override
public String toString() {

return new StringBuffer().append("空间容量:").append(this.getQuota()/1024/1024).append("M; 已用:").append(this.getused()/1024/1024).append("M; ").toString();
}
}

2.通过post方式提交 我用上传单个文件为例子:

同样我们也先了解下上传文件要参数设置:


请求参数:

url: 标明我们要访问的网址路径 值固定问“https://pcs.baidu.com/rest/2.0/pcs/file”

method:标明我们是请求云盘信息 值固定为“upload”

acceess_token:准入标识 值是我们自己申请的

path:是我们要上传到云盘的那个路径下 如/apps/myBaiduCloud/ myBaiduCloud是我们的应用名称(当你获取koten后就会自动生成以你应用名称为名的文件夹)

file:这个就是我们要上传的文件了(要求用post方式上传)

ondup:可选参数,标识当有重名的文件的时候处理方式具体见api

接收返回参数:

返回的也是json串,

path:为我们上传的文件保存的全路径

size:文件的大小有多少字节

ctime/mtime:文件的创建修改时间

其他参数介绍点小标题去api中查看

{
  "path" : "/apps/album/README.md"
  "size" : 372121,
  "ctime" : 1234567890,
  "mtime" : 1234567890,
  "md5" : "cb123afcc12453543ef",
  "fs_id" : 12345,
 "request_id":4043312669
}

我在做的时候也是将其封装到实体类中了,这里和上面一样不详述,我们重点看下提交文件是怎么提交的代码如下:


[java] /**
*