Package com.qq.open.qzone.photo

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

package com.qq.open.qzone.photo;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;

import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.StringBody;

import com.qq.open.common.OpenQqConstants;
import com.qq.open.common.OpenQqUtils;
import com.qq.open.common.json.JSONException;
import com.qq.open.common.json.JSONObject;
import com.qq.open.qzone.bean.param.QqAddAlbumParamBean;
import com.qq.open.qzone.bean.result.QqAddAlbumResultBean;

/**
* 登录用户创建相册
*
* @author HaoLiang
*
*/
public class QqAddAlbum {
 
  /** QQ互联工具类 */
  private OpenQqUtils oqu = new OpenQqUtils();

 
  /**
   * 用户创建相册
   *
   * @param qqAddAlbumBean 创建相册参数Bean
   * @return
   * @throws IOException
   * @throws UnsupportedEncodingException
   * @throws JSONException
   */
  public QqAddAlbumResultBean addAlbum(QqAddAlbumParamBean qqAddAlbumBean)
      throws IOException, JSONException {

    // 获取接口返回的内容
    String jsonData = oqu.doPost(OpenQqConstants.QQ_ADD_ALBUM_URL, this
        .getAddAlbumParam(qqAddAlbumBean));

    return this.jsonToBean(jsonData);
  }
 
 
 
  /**
   *
   * 获取创建相册的参数和数据
   *
   * @param qqu QQ互联工具类
   * @param addAlbumBean 创建相册参数Bean
   * @return 创建相册的参数和数据
   * @throws UnsupportedEncodingException
   */
  private MultipartEntity getAddAlbumParam(QqAddAlbumParamBean addAlbumBean) throws UnsupportedEncodingException {
    MultipartEntity reqEntity = new MultipartEntity();
   
    // AccessToken
      reqEntity.addPart("access_token", new StringBody(addAlbumBean.getAccessToken()));
     
      // AppId
      reqEntity.addPart("oauth_consumer_key", new StringBody(oqu.getConfigValue("qq.appid")));
     
      // OpenId
      reqEntity.addPart("openid", new StringBody(addAlbumBean.getOpenId()));
   
    // 相册名
      reqEntity.addPart("albumname", new StringBody(addAlbumBean.getAlbumName(), Charset.forName("UTF-8")));
   
      // 相册描述
    if (oqu.isNotNull(addAlbumBean.getAlbumDesc())) {
      reqEntity.addPart("albumdesc", new StringBody(addAlbumBean.getAlbumDesc(), Charset.forName("UTF-8")));
    }
   
    // 相册权限
    if (addAlbumBean.getAlbumPriv() > 0) {
      reqEntity.addPart("priv", new StringBody(String.valueOf(addAlbumBean.getAlbumPriv())));
    }
   
    // 定义API返回的数据格式
    reqEntity.addPart("format", new StringBody("json"));
   
    return reqEntity;
  }
 
 
  /**
   * 把接口返回的json数据转换成JavaBean
   *
   * @param jsonData 接口返回的数据
   * @return JavaBean数据
   * @throws JSONException
   */
  private QqAddAlbumResultBean jsonToBean(String jsonData) throws JSONException {
    QqAddAlbumResultBean resultBean = new QqAddAlbumResultBean();
   
    // 接口返回的数据Josn
    JSONObject jsonObjRoot = new JSONObject(jsonData);
   
    // 接口返回错误的场合
    if (jsonObjRoot.getInt("ret") != 0) {
      // 设置错误标识为真
      resultBean.setErrorFlg(true);
     
      // 设置错误编号
      resultBean.setErrorCode(jsonObjRoot.get("ret").toString());
     
      // 设置错误信息
      resultBean.setErrorMes(jsonObjRoot.getString("msg"));
    } else {
      // 相册ID
      resultBean.setAlbumId(jsonObjRoot.getString("albumid"));
     
      // 相册创建时间
      resultBean.setCreateTime(oqu.timeStampToDate(jsonObjRoot.get("createtime").toString()));
     
      // 相册描述
      resultBean.setDesc(jsonObjRoot.getString("desc"));
     
      // 相册名称
      resultBean.setName(jsonObjRoot.getString("name"));
     
      // 相册权限
      resultBean.setPriv(jsonObjRoot.get("priv").toString());
    }
   
    return resultBean;
  }
}
TOP

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

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.