Package com.qq.open.qzone.photo

Source Code of com.qq.open.qzone.photo.QqListAlbum

package com.qq.open.qzone.photo;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.qq.open.common.OpenQqConstants;
import com.qq.open.common.OpenQqUtils;
import com.qq.open.common.json.JSONArray;
import com.qq.open.common.json.JSONException;
import com.qq.open.common.json.JSONObject;
import com.qq.open.qzone.bean.param.QqListAlbumParamBean;
import com.qq.open.qzone.bean.result.QqAlbumInfoBean;
import com.qq.open.qzone.bean.result.QqListAlbumResultBean;

/**
* 获取登录用户的相册列表
*
* @author HaoLiang
* @version 0.1.1
*/
public class QqListAlbum {

  /** QQ互联工具类 */
  private OpenQqUtils oqu = new OpenQqUtils();
 
  /** 日志 */
  private Logger log = Logger.getLogger(QqListAlbum.class);
 
  /**
   * 获取相册列表
   *
   * @param paramBean 参数
   * @return 相册信息
   * @throws IOException
   */
  public QqListAlbumResultBean getListAlbum(QqListAlbumParamBean paramBean) throws IOException {
   
    // 日志
    log.info("获取相册列表 开始...");
   
    // 获取创建相册的参数
    String listAlbumUrl = this.getListAlbumUrl(paramBean);
   
    // 获取接口返回的内容
    String jsonData = oqu.doGet(listAlbumUrl);
   
    // 相册信息
    QqListAlbumResultBean resultBean = this.getAlbumInfoList(jsonData);
   
    // 日志
    log.info("获取相册列表 开始...");
   
    return resultBean;
  }
 
 
  /**
   * 获取相册列表的URL
   *
   * @param paramBean 参数
   * @return 获取相册列表的URL
   */
  private String getListAlbumUrl(QqListAlbumParamBean paramBean) {
   
    // 获取用户相册列表的参数
    StringBuilder paramData = new StringBuilder();
   
    // 获取登录用户的相册列表接口地址
    paramData.append(OpenQqConstants.QQ_LIST_ALBUM_URL);
   
    // AccessToken
    paramData.append("?access_token=" + paramBean.getAccessToken());
   
    // AppId
    paramData.append("&oauth_consumer_key=" + oqu.getConfigValue("qq.appid"));
   
    // Openid
    paramData.append("&openid=" + paramBean.getOpenId());
   
    // 定义API返回的数据格式
    paramData.append("&format=json");
   
    return paramData.toString();
  }
 
 
  /**
   * 获取用户空间相册的详细信息
   *
   * @param jsonData 接口返回的数据
   * @param qqu 工具类
   * @return 相册的详细信息
   */
  private QqListAlbumResultBean getAlbumInfoList(String jsonData) {
   
    // 获取用户相册接口的信息
    QqListAlbumResultBean albumResultBean = new QqListAlbumResultBean();
   
    // 相册详细信息
    List<QqAlbumInfoBean> albumList = null;
   
    JSONObject jsonObjRoot;
    try {
      // 加载所有的数据
      jsonObjRoot = new JSONObject(jsonData);
     
      // 接口返回错误的场合
      if (jsonObjRoot.getInt("ret") > 0) {
       
        // 设置错误标识为真
        albumResultBean.setErrorFlg(true);
       
        // 设置错误编号
        albumResultBean.setErrorCode(jsonObjRoot.get("ret").toString());
       
        // 设置错误信息
        albumResultBean.setErrorMes(jsonObjRoot.getString("msg"));
       
        return albumResultBean;
      }
     
      // 相册详细信息
      albumList = new ArrayList<QqAlbumInfoBean>();
     
      // 获取所有的相册的集合
      JSONArray albumArray = jsonObjRoot.getJSONArray("album");

      // 循环取出每个相册的信息
      for (int i = 0; i < albumArray.length(); i++) {
        // 相册信息
        QqAlbumInfoBean bean = new QqAlbumInfoBean();
       
        // 循环取出每个相册的信息
        JSONObject jsonObjTemp = new JSONObject(albumArray.get(i).toString());
       
        // 相册ID
        bean.setAlbumId(jsonObjTemp.getString("albumid"));
       
        // 相册分类ID
        bean.setClassId(jsonObjTemp.getInt("classid"));
       
        // 相册封面图像地址
        bean.setCoverUrl(jsonObjTemp.getString("coverurl"));
       
        // 相册创建时间
        bean.setCreateTime(oqu.timeStampToDate(jsonObjTemp.get("createtime").toString()));
       
        // 相册描述
        bean.setDesc(jsonObjTemp.getString("desc"));
       
        // 相册名称
        bean.setName(jsonObjTemp.getString("name"));
       
        // 照片数
        bean.setPicnum(jsonObjTemp.getInt("picnum"));
       
        // 相册权限
        bean.setPriv(jsonObjTemp.getInt("priv"));

        albumList.add(bean);
      }

    } catch (JSONException e) {
      e.printStackTrace();
     
    }
   
    // 设置所有相册的信息
    albumResultBean.setAlbumInfoList(albumList);
   
    return albumResultBean;
  }
}
TOP

Related Classes of com.qq.open.qzone.photo.QqListAlbum

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.