package com.tencent.weibo.api; import org.apache.http.message.BasicNameValuePair; import com.tencent.weibo.beans.OAuth; import com.tencent.weibo.utils.QArrayList; import com.tencent.weibo.utils.QHttpClient; /** * 私信相关API * @see <a href="http://wiki.open.t.qq.com/index.php/%E7%A7%81%E4%BF%A1%E7%9B%B8%E5%85%B3">腾讯微博开放平台上私信相关的API文档<a> */ public class PrivateAPI extends BasicAPI { private String privateRecvUrl=apiBaseUrl+"/private/recv"; private String privateSendUrl=apiBaseUrl+"/private/send"; /** * 使用完毕后,请调用 shutdownConnection() 关闭自动生成的连接管理器 * @param OAuthVersion 根据OAuthVersion,配置通用请求参数 */ public PrivateAPI(String OAuthVersion) { super(OAuthVersion); } /** * @param OAuthVersion 根据OAuthVersion,配置通用请求参数 * @param qHttpClient 使用已有的连接管理器 */ public PrivateAPI(String OAuthVersion, QHttpClient qHttpClient) { super(OAuthVersion, qHttpClient); } /** * 获取私信收件箱列表 * * @param oAuth * @param format 返回数据的格式(json或xml) * @param pageflag 分页标识(0:第一页,1:向下翻页,2向上翻页) * @param pagetime 本页起始时间(第一页:填0,向上翻页:填上一次请求返回的第一条记录时间,向下翻页:填上一次请求返回的最后一条记录时间) * @param reqnum 每次请求记录的条数(1-20条) * @param lastid 用于翻页,和pagetime配合使用(第一页:填0,向上翻页:填上一次请求返回的第一条记录id,向下翻页:填上一次请求返回的最后一条记录id) * @param contenttype 内容过滤。0-所有类型,1-带文本,2-带链接,4-带图片,8-带视频,16-带音频,默认为0 * @return * @throws Exception * @see <a href="http://wiki.open.t.qq.com/index.php/%E7%A7%81%E4%BF%A1%E7%9B%B8%E5%85%B3/%E6%94%B6%E4%BB%B6%E7%AE%B1">腾讯微博开放平台上关于此条API的文档</a> */ public String recv(OAuth oAuth, String format, String pageflag, String pagetime, String reqnum, String lastid,String contenttype) throws Exception { QArrayList paramsList = new QArrayList(); paramsList.add(new BasicNameValuePair("format", format)); paramsList.add(new BasicNameValuePair("pageflag", pageflag)); paramsList.add(new BasicNameValuePair("pagetime", pagetime)); paramsList.add(new BasicNameValuePair("reqnum", reqnum)); paramsList.add(new BasicNameValuePair("lastid", lastid)); paramsList.add(new BasicNameValuePair("contenttype", contenttype)); return requestAPI.getResource(privateRecvUrl, paramsList, oAuth); } /** * 获取私信发件箱列表 * * @param oAuth * @param format 返回数据的格式(json或xml) * @param pageflag 分页标识(0:第一页,1:向下翻页,2向上翻页) * @param pagetime 本页起始时间(第一页:填0,向上翻页:填上一次请求返回的第一条记录时间,向下翻页:填上一次请求返回的最后一条记录时间) * @param reqnum 每次请求记录的条数(1-20条) * @param lastid 用于翻页,和pagetime配合使用(第一页:填0,向上翻页:填上一次请求返回的第一条记录id,向下翻页:填上一次请求返回的最后一条记录id) * @param contenttype 内容过滤。0-所有类型,1-带文本,2-带链接,4-带图片,8-带视频,16-带音频,默认为0 * @return * @throws Exception * @see <a href="http://wiki.open.t.qq.com/index.php/%E7%A7%81%E4%BF%A1%E7%9B%B8%E5%85%B3/%E5%8F%91%E4%BB%B6%E7%AE%B1">腾讯微博开放平台上关于此条API的文档</a> */ public String send(OAuth oAuth, String format, String pageflag, String pagetime, String reqnum, String lastid,String contenttype) throws Exception { QArrayList paramsList = new QArrayList(); paramsList.add(new BasicNameValuePair("format", format)); paramsList.add(new BasicNameValuePair("pageflag", pageflag)); paramsList.add(new BasicNameValuePair("pagetime", pagetime)); paramsList.add(new BasicNameValuePair("reqnum", reqnum)); paramsList.add(new BasicNameValuePair("lastid", lastid)); paramsList.add(new BasicNameValuePair("contenttype", contenttype)); return requestAPI.getResource(privateSendUrl, paramsList, oAuth); } public void setAPIBaseUrl(String apiBaseUrl) { this.apiBaseUrl=apiBaseUrl; privateRecvUrl=apiBaseUrl+"/private/recv"; privateSendUrl=apiBaseUrl+"/private/send"; } }