com.qq.connect.api.qzone
类 Album
java.lang.Object
com.qq.connect.QQConnect
com.qq.connect.api.qzone.Album
- 所有已实现的接口:
- java.io.Serializable
public class Album
- extends QQConnect
跟用户在QQ空间的相册有关的操作,全部封装在此类中。
出于信息安全的考虑,本接口仅对可信赖的合作网站开放。第三方开发者可在官网提交申请,以获取访问OpenApi的权限
- 另请参见:
- 序列化表格
构造方法摘要 |
Album(java.lang.String token,
java.lang.String openID)
利用accessToken, openID 构造 Album对象 |
从类 java.lang.Object 继承的方法 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Album
public Album(java.lang.String token,
java.lang.String openID)
- 利用accessToken, openID 构造 Album对象
- 参数:
token
- openID
-
addAlbum
public AlbumBean addAlbum(java.lang.String albumname,
java.lang.String... parameters)
throws QQConnectException
- 登录用户创建一个新相册
- 参数:
albumname
- 相册名parameters
- 需要创建的相册的信息,此方法可以接收随意多的String参数,参数按照官方文档,写为 ("albumdesc=123")的形式
调用示例:
String con = "测试内容!" + new Random().nextInt();
Album album = new Album(accessToken, openID);
AlbumBean grb = album.addAlbum("albumdesc=" + con, "priv=4");
- 返回:
- AlbumBean
AlbumBean
- 抛出:
QQConnectException
- when QQConnect service is not reachable- 从以下版本开始:
- javaSE 5.0
- 另请参见:
- add_album
listAlbum
public java.util.ArrayList<AlbumBean> listAlbum()
throws QQConnectException,
JSONException
- 获取登陆用户的相册列表
- 返回:
- ArrayList
AlbumBean
- 抛出:
QQConnectException
- when QQConnect service is not reachable
JSONException
- 从以下版本开始:
- javaSE 5.0
- 另请参见:
- list_album
uploadPic
public AlbumPicBean uploadPic(byte[] picture,
java.lang.String... parameters)
throws QQConnectException
- 登陆用户上传照片,直接单张上传和批量上传
- 参数:
picture
- 上传照片的文件名以及图片的内容(在发送请求时,图片内容以二进制数据流的形式发送,见官方文档的请求示例,注意照片名称不能超过30个字符)
如何拿到这个信息有一点指导思想,就是不要干重复造轮子的事情,如果是让用户上传的文件就借助用FileUpload 等第三方库吧
代码示例:
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
} else {
byte[] picData = item.get();
Album album = new Album(accessToken, openID);
AlbumPicBean apb = album.uploadPic(picData);
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
}
parameters
- 上传的照片的信息,参数按照官方文档,写为 ("photodesc=my_family","title=my_family")的形式
photodesc = "" 可选, 照片描述,注意照片描述不能超过200个字符
title = "" 可选,照片的命名,必须以.jpg .gif .png .jpeg .bmp 此类后缀结尾
albumid = "" 可选,相册id,不填时则根据"mobile"标识选择默认上传的相册
mobile = 0 可选,标志位,0标识PC,1标识手机。用于当不传相册id时,控制是否传到手机相册。(1)如果传1,当albumid为空时,上传到手机相册(2)如果不传或传0,则当albumid为空时,图片会上传到贴图相册
x = "" 可选,照片拍摄时的地理位置的经度。请使用原始数据(纯经纬度,0-360)
y = "" 可选,照片拍摄时的地址位置的纬度。请使用原始数据(纯经纬度,0-360)
needfeed = 0 可选,标识上传照片时是否要发feed(0:不发feed; 1:发feed)
successnum = 0 批量上传照片时,已成功上传的张数,指明上传完成情况。单张上传时可以不填,不填则默认为0.
picnum = 0 批量上传的总张数,如果不填则默认1. 如果picnum=1,为单张上传,发送单张上传feed;如果picnum>1,为批量上传,发送批量上传feed。
批量上传方式:picnum为一次上传照片的张数,successnum初始值为0,每调用一次照片上传接口后递增其值。
信息中心的feed表现形式:批量上传时最新的7张在feed中展示。其中最新上传的一张图片展示为大图,剩下的六张按从新到旧的顺序展示为小图,其他图片不在feed中展示
- 返回:
- AlbumPicBean
AlbumPicBean
- 抛出:
QQConnectException
- when QQConnect service is not reachable- 从以下版本开始:
- javaSE 5.0
- 另请参见:
- upload_pic