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#.E6.8E.A8.E8.8D.90">推荐接口</a>
* @author xiaowei6@staff.sina.com.cn
*/
public class SuggestionsAPI extends WeiboAPI {
public SuggestionsAPI(Oauth2AccessToken accessToken) {
super(accessToken);
}
private static final String SERVER_URL_PRIX = API_SERVER + "/suggestions";
/**
* 返回系统推荐的热门用户列表
*
* @param category 推荐分类,返回某一类别的推荐用户,默认为default,
* 如果不在以下分类中,返回空列表,default:人气关注、
* ent:影视名星、hk_famous:港台名人、model:模特、
* cooking:美食&健康、sports:体育名人、finance:商界名人、
* tech:IT互联网、singer:歌手、writer:作家、moderator:主持人、
* medium:媒体总编、stockplayer:炒股高手。
* @param listener
*/
public void usersHot( USER_CATEGORY category, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("category", category.name());
request( SERVER_URL_PRIX + "/users/hot.json", params, HTTPMETHOD_GET,
listener);
}
/**
* 获取用户可能感兴趣的人
*
* @param count 单页返回的记录条数,默认为10。
* @param page 返回结果的页码,默认为1。
* @param listener
*/
public void mayInterested( int count, int page, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("count", count);
params.add("page", page);
request( SERVER_URL_PRIX + "/users/may_interested.json", params, HTTPMETHOD_GET, listener);
}
/**
* 根据一段微博正文推荐相关微博用户
*
* @param content 微博正文内容
* @param num 返回结果数目,默认为10。
* @param listener
*/
public void byStatus( String content, int num, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("content", content);
params.add("num", num);
request( SERVER_URL_PRIX + "/users/may_interested.json", params, HTTPMETHOD_GET, listener);
}
/**
* 获取微博精选推荐
*
* @param type 微博精选分类,1:娱乐、2:搞笑、3:美女、4:视频、5:星座、6:各种萌、7:时尚、8:名车、9:美食、10:音乐。
* @param is_pic 是否返回图片精选微博,false:全部、true:图片微博。
* @param count 单页返回的记录条数,默认为20。
* @param page 返回结果的页码,默认为1。
* @param listener
*/
public void statusesHot(STATUSES_TYPE type, boolean is_pic, int count, int page, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("type", type.ordinal()+1);
if (is_pic) {
params.add("is_pic", 1);
} else {
params.add("is_pic", 0);
}
params.add("count", count);
params.add("page", page);
request( SERVER_URL_PRIX + "/statuses/hot.json", params, HTTPMETHOD_GET, listener);
}
/**
* 返回系统推荐的热门收藏
*
* @param count 每页返回结果数,默认20。
* @param page 返回页码,默认1。
* @param listener
*/
public void favoritesHot( int count, int page, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("count", count);
params.add("page", page);
request( SERVER_URL_PRIX + "/favorites/hot.json", params, HTTPMETHOD_GET, listener);
}
/**
* 把某人标识为不感兴趣的人
*
* @param uid 不感兴趣的用户的UID。
* @param listener
*/
public void notInterested( long uid, RequestListener listener) {
WeiboParameters params = new WeiboParameters();
params.add("uid", uid);
request( SERVER_URL_PRIX + "/users/not_interested.json", params, HTTPMETHOD_POST, listener);
}
}