package com.weibo.sdk.android.api;
import com.weibo.sdk.android.Oauth2AccessToken;
import com.weibo.sdk.android.WeiboParameters;
import com.weibo.sdk.android.net.AsyncWeiboRunner;
import com.weibo.sdk.android.net.RequestListener;
/**
* 微博 API的基类,每个接口类都继承了此抽象类
* @author xiaowei6@staff.sina.com.cn
*
*/
public abstract class WeiboAPI {
/**
* 访问微博服务接口的地址
*/
public static final String API_SERVER = "https://api.weibo.com/2";
/**
* post请求方式
*/
public static final String HTTPMETHOD_POST = "POST";
/**
* get请求方式
*/
public static final String HTTPMETHOD_GET = "GET";
private Oauth2AccessToken oAuth2accessToken;
private String accessToken;
/**
* 构造函数,使用各个API接口提供的服务前必须先获取Oauth2AccessToken
* @param accesssToken Oauth2AccessToken
*/
public WeiboAPI(Oauth2AccessToken oauth2AccessToken){
this.oAuth2accessToken=oauth2AccessToken;
if(oAuth2accessToken!=null){
accessToken=oAuth2accessToken.getToken();
}
}
public enum FEATURE {
ALL, ORIGINAL, PICTURE, VIDEO, MUSICE
}
public enum SRC_FILTER {
ALL, WEIBO, WEIQUN
}
public enum TYPE_FILTER {
ALL, ORIGAL
}
public enum AUTHOR_FILTER {
ALL, ATTENTIONS, STRANGER
}
public enum TYPE {
STATUSES, COMMENTS, MESSAGE
}
public enum EMOTION_TYPE {
FACE, ANI, CARTOON
}
public enum LANGUAGE {
cnname, twname
}
public enum SCHOOL_TYPE {
COLLEGE, SENIOR, TECHNICAL, JUNIOR, PRIMARY
}
public enum CAPITAL {
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
}
public enum FRIEND_TYPE {
ATTENTIONS, FELLOWS
}
public enum RANGE {
ATTENTIONS, ATTENTION_TAGS, ALL
}
public enum USER_CATEGORY {
DEFAULT, ent, hk_famous, model, cooking, sports, finance, tech, singer, writer, moderator, medium, stockplayer
}
public enum STATUSES_TYPE {
ENTERTAINMENT, FUNNY, BEAUTY, VIDEO, CONSTELLATION, LOVELY, FASHION, CARS, CATE, MUSIC
}
public enum COUNT_TYPE {
/**
* 新微博数
*/
STATUS,
/**
* 新粉丝数
*/
FOLLOWER,
/**
* 新评论数
*/
CMT,
/**
* 新私信数
*/
DM,
/**
* 新提及我的微博数
*/
MENTION_STATUS,
/**
* 新提及我的评论数
*/
MENTION_CMT
}
/**
* 分类
* @author xiaowei6@staff.sina.com.cn
*
*/
public enum SORT {
Oauth2AccessToken,
SORT_AROUND
}
public enum SORT2 {
SORT_BY_TIME, SORT_BY_HOT
}
public enum SORT3 {
SORT_BY_TIME, SORT_BY_DISTENCE
}
public enum COMMENTS_TYPE {
NONE, CUR_STATUSES, ORIGAL_STATUSES, BOTH
}
protected void request( final String url, final WeiboParameters params,
final String httpMethod,RequestListener listener) {
params.add("access_token", accessToken);
AsyncWeiboRunner.request(url, params, httpMethod, listener);
}
}