package com.weibo.sdk.android.api;
import com.weibo.sdk.android.Oauth2AccessToken;
import com.weibo.sdk.android.WeiboParameters;
import com.weibo.sdk.android.net.RequestListener;
/**
* 该类封装了话题接口,详情请参考<a href="http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2#.E8.AF.9D.E9.A2.98">话题接口</a>
* @author xiaowei6@staff.sina.com.cn
*/
public class TrendsAPI extends WeiboAPI {
public TrendsAPI(Oauth2AccessToken accessToken) {
super(accessToken);
}
private static final String SERVER_URL_PRIX = API_SERVER + "/trends";
/**
* 获取某人的话题列表
* @param uid 需要获取话题的用户的UID。
* @param count 单页返回的记录条数,默认为10。
* @param page 返回结果的页码,默认为1。
* @param listener
*/
public void trends( long uid, int count, int page, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("uid", uid);
params.add("count", count);
params.add("page", page);
request( SERVER_URL_PRIX + ".json", params, HTTPMETHOD_GET, listener);
}
/**
* 判断当前用户是否关注某话题
* @param trend_name 话题关键字
* @param listener
*/
public void isFollow( String trend_name, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("trend_name", trend_name);
request( SERVER_URL_PRIX + "/is_follow.json", params, HTTPMETHOD_GET, listener);
}
/**
* 返回最近一小时内的热门话题
* @param base_app 是否只获取当前应用的数据。false为否(所有数据),true为是(仅当前应用),默认为false。
* @param listener
*/
public void hourly( boolean base_app, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
if (base_app) {
params.add("base_app", 1);
} else {
params.add("base_app", 0);
}
request( SERVER_URL_PRIX + "/hourly.json", params, HTTPMETHOD_GET, listener);
}
/**
* 返回最近一天内的热门话题
* @param base_app 是否只获取当前应用的数据。false为否(所有数据),true为是(仅当前应用),默认为false。
* @param listener
*/
public void daily( boolean base_app, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
if (base_app) {
params.add("base_app", 1);
} else {
params.add("base_app", 0);
}
request( SERVER_URL_PRIX + "/daily.json", params, HTTPMETHOD_GET, listener);
}
/**
* 返回最近一周内的热门话题
* @param base_app 是否只获取当前应用的数据。false为否(所有数据),true为是(仅当前应用),默认为false。
* @param listener
*/
public void weekly( boolean base_app, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
if (base_app) {
params.add("base_app", 0);
} else {
params.add("base_app", 1);
}
request( SERVER_URL_PRIX + "/weekly.json", params, HTTPMETHOD_GET, listener);
}
/**
* 关注某话题
* @param trend_name 要关注的话题关键词。
* @param listener
*/
public void follow( String trend_name, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("trend_name", trend_name);
request( SERVER_URL_PRIX + "/follow.json", params, HTTPMETHOD_POST, listener);
}
/**
* 取消对某话题的关注
* @param trend_id 要取消关注的话题ID。
* @param listener
*/
public void destroy( long trend_id, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("trend_id", trend_id);
request( SERVER_URL_PRIX + "/destroy.json", params, HTTPMETHOD_POST, listener);
}
}