這幾天很有興致的學習了百度雲盤文件API接口的使用
主要是分一下幾個步驟
注意
開通移動應用
獲取token的時候我使用的安卓獲取的方式
通過我寫對應api的例子我發現
獲取雲盤信息前我們要知道
請求參數
url: 標明我們要訪問的網址路徑 值固定問
method:標明我們是請求雲盤信息 值固定為
acceess_token:准入標識 值是我們自己申請的
接收返回參數
quota:雲盤總容量
used:雲盤使用容量
request_id:該請求的表示
返回的一個json串如下格式
我在做的時候你使用Gson工具將json串轉換到對應的entity類中了 代碼如下
[html] /**
* @param URLConnection conn通過get方式獲取StringBuffer
* @return
*/
private StringBuffer getJsonString(URLConnection conn) {
InputStreamReader isr = null;
BufferedReader br = null;
StringBuffer sb = null;
try {
isr = new InputStreamReader(conn
br = new BufferedReader(isr)
String line = null;
sb = new StringBuffer()
while ((line = br
sb
sb
}
} catch (UnsupportedEncodingException e) {
e
} catch (IOException e) {
e
}finally{
try {
if(isr!=null)
isr
} catch (IOException e) {
System
e
}
}
return sb;
}
/**
* @return
* @throws Exception
* 獲取雲空間的信息
*/
public CloudInfo getCloudInfo() throws Exception {
URL u = new URL(
URLConnection conn = u
// 獲取用戶雲盤信息
String cloudJson = this
// 解析成對象 下面有這個實體對象的類
Gson gson = new Gson()
CloudInfo cloudInfo = gson
System
return cloudInfo;
}
/**
* @param URLConnection conn通過get方式獲取StringBuffer
* @return
*/
private StringBuffer getJsonString(URLConnection conn) {
InputStreamReader isr = null;
BufferedReader br = null;
StringBuffer sb = null;
try {
isr = new InputStreamReader(conn
br = new BufferedReader(isr)
String line = null;
sb = new StringBuffer()
while ((line = br
sb
sb
}
} catch (UnsupportedEncodingException e) {
e
} catch (IOException e) {
e
}finally{
try {
if(isr!=null)
isr
} catch (IOException e) {
System
e
}
}
return sb;
}
/**
* @return
* @throws Exception
* 獲取雲空間的信息
*/
public CloudInfo getCloudInfo() throws Exception {
URL u = new URL(
URLConnection conn = u
// 獲取用戶雲盤信息
String cloudJson = this
// 解析成對象 下面有這個實體對象的類
Gson gson = new Gson()
CloudInfo cloudInfo = gson
System
return cloudInfo;
}
[html] package com
import java
/**
* @author ydcun 獲取雲空間的信息 例如
* {
*
*
*/
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
}
/**
* @return the used 已使用空間大小 單位為字節
*/
public Double getused() {
return used;
}
/**
* @param used the used to set 已使用空間大小 單位為字節
*/
public void setused(Double used) {
this
}
/**
* @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
}
@Override
public String toString() {
return new StringBuffer()
}
}
package com
import java
/**
* @author ydcun 獲取雲空間的信息 例如
* {
*
*
*/
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
}
/**
* @return the used 已使用空間大小 單位為字節
*/
public Double getused() {
return used;
}
/**
* @param used the used to set 已使用空間大小 單位為字節
*/
public void setused(Double used) {
this
}
/**
* @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
}
@Override
public String toString() {
return new StringBuffer()
}
}
同樣我們也先了解下上傳文件要參數設置
請求參數
url: 標明我們要訪問的網址路徑 值固定問
method:標明我們是請求雲盤信息 值固定為
acceess_token:准入標識 值是我們自己申請的
path:是我們要上傳到雲盤的那個路徑下 如/apps/myBaiduCloud/ myBaiduCloud是我們的應用名稱(當你獲取koten後就會自動生成以你應用名稱為名的文件夾)
file:這個就是我們要上傳的文件了(要求用post方式上傳)
ondup:可選參數
接收返回參數
返回的也是json串
path:為我們上傳的文件保存的全路徑
size:文件的大小有多少字節
ctime/mtime:文件的創建修改時間
其他參數介紹點小標題去api中查看
{
}
我在做的時候也是將其封裝到實體類中了
[java] /**
* @param path 雲盤存放路徑
* @param name 要上傳的文件
* @return
* @throws Exception
*/
public FileBase uploadFile(String path
//模擬文件
String fileName=
file = new File(fileName)
path=
/
//將需要url傳值的參數和url組裝起來
String u =
PostMethod filePost = new PostMethod(u)
//post提交的參數
Part[] parts = {new FilePart(fileName
//設置多媒體參數
filePost
HttpClient clients = new HttpClient()
//響應代碼
int status = clients
System
BufferedReader buReader = new BufferedReader(new InputStreamReader(filePost
StringBuffer sb = new StringBuffer()
String line;
while((line=buReader
sb
}
buReader
// 解析成對象
Gson gson = new Gson()
FileBase cloudInfo = gson
return cloudInfo;
}
/**
* @param path 雲盤存放路徑
* @param name 要上傳的文件
* @return
* @throws Exception
*/
public FileBase uploadFile(String path
//模擬文件
String fileName=
file = new File(fileName)
path=
/
//將需要url傳值的參數和url組裝起來
String u =
PostMethod filePost = new PostMethod(u)
//post提交的參數
Part[] parts = {new FilePart(fileName
//設置多媒體參數
filePost
HttpClient clients = new HttpClient()
//響應代碼
int status = clients
System
BufferedReader buReader = new BufferedReader(new InputStreamReader(filePost
StringBuffer sb = new StringBuffer()
String line;
while((line=buReader
sb
}
buReader
// 解析成對象
Gson gson = new Gson()
FileBase cloudInfo = gson
return cloudInfo;
}
上面代碼成功後我們就會在/apps/mybaidu/目錄下找到README
commons
commons
commons
gson
jsoup
其他的api怎麼用百度給了一個很好的演示平台
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27162.html