您的位置:首页 > 其它

新浪微博开发(六)封装一个OauthUtils类

2012-04-23 18:19 337 查看
为了向Oauth类提供各种方法和参数,新建一个OauthUtils类,用来管理Oauth类或者其他类将会使用到的变量和方法。
/*
* 这是一个工具类,封装了用于Oauth验证的各种参数和方法
* 其实这个类的结构非常简单,就是变量和变量对应的set和get方法
* 另外有添加了initSinaData()和initQQData()方法,用来给变量赋值,其实直接在定义变量的时候赋值,或者在构造函数中赋值都可以
*/
package tianyi.sina;

public class OauthUtils {

// 这一组成员变量只对应了一组set和get方法
private String appKey;// 第三方应用的appkey,用于鉴权身份,显示来源
private String appSecret;// 生成请求request Token的secret,与consumer key一起分配。
private String request_token_url;
private String authoriz_token_url;
private String access_token_url;
private String oauth_verifier;// 通过oauth页面返回的verifier,用于最终获取access token

// 这一组成员变量除了set和get方法之外,还需要在clear()方法中进行清除
private String oauth_token_key;
private String token_secret;
private String access_token_key;
private String access_secret;

// ---------------------sina
public static String sina_AppKey = "你懂得,这里要填一串数字";
public static String sina_AppSecret = "这里要填一大串数字加字母加符号的字符串";

// 新浪微博开放平台的request token获取接口地址:http://api.t.sina.com.cn/oauth/request_token
private final String sina_Request_token_url = "http://api.t.sina.com.cn/oauth/request_token";

/*
* 发送你获取的oauth_token,并且获得用户的授权,新浪微博开放平台的验证URL是http://api.t.sina.com.cn/oauth/authorize
*要求必须以oauth作为参数,一般来说请求格式如下:
* http://api.t.sina.com.cn/oauth/authorize?oauth_token=8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc */
private final String sina_Authoriz_token_url = "http://api.t.sina.com.cn/oauth/authorize";

// 新浪微博开放平台access token请求地址为:http://api.t.sina.com.cn/oauth/access_token
private final String sina_Access_token_url = "http://api.t.sina.com.cn/oauth/access_token";

// --------------------qq
public static final String qq_AppKey = "你懂得,这里要填一串数字";
public static String qq_AppSecret = "这里要填一大串数字加字母加符号的字符串";
private final String qq_Request_token_url = "https://open.t.qq.com/cgi-bin/request_token";
private final String qq_Authoriz_token_url = "https://open.t.qq.com/cgi-bin/authorize";
private final String qq_Access_token_url = "https://open.t.qq.com/cgi-bin/access_token";

// OauthUtils instance同步安全的静态实例对象
private static OauthUtils instance;

/**
* 初始化SINA认证信息
*/
public void initSinaData() {
setAppKey(sina_AppKey);
setAppSecret(sina_AppSecret);
setRequest_token_url(sina_Request_token_url);
setAuthoriz_token_url(sina_Authoriz_token_url);
setAccess_token_url(sina_Access_token_url);
}

/**
* 初始化QQ认证信息
*/
public void initQQData() {
setAppKey(qq_AppKey);
setAppSecret(qq_AppSecret);
setRequest_token_url(qq_Request_token_url);
setAuthoriz_token_url(qq_Authoriz_token_url);
setAccess_token_url(qq_Access_token_url);
}

/**
* 用来清除数据
*/
public void clear() {
this.oauth_token_key = null;
this.token_secret = null;
this.oauth_verifier = null;
this.access_token_key = null;
this.access_secret = null;
}

/*
* 初始化或者获取已经存在的,同步安全的静态实例对象
* 这个函数保证了仅仅操作一个类的实例,而不是多个
*/
public static synchronized OauthUtils getInstance() {
if (instance == null) {
instance = new OauthUtils();
}
return instance;
}

public String getOauth_token_key() {
return oauth_token_key;
}

public void setOauth_token_key(String oauth_token_key) {
this.oauth_token_key = oauth_token_key;
}

public String getToken_secret() {
return token_secret;
}

public void setToken_secret(String token_secret) {
this.token_secret = token_secret;
}

public String getAccess_token_key() {
return access_token_key;
}

public void setAccess_token_key(String access_token_key) {
this.access_token_key = access_token_key;
}

public String getAccess_secret() {
return access_secret;
}

public void setAccess_secret(String access_secret) {
this.access_secret = access_secret;
}

public String getOauth_verifier() {
return oauth_verifier;
}

public void setOauth_verifier(String oauth_verifier) {
this.oauth_verifier = oauth_verifier;
}

public String getAppKey() {
return appKey;
}

public void setAppKey(String appKey) {
this.appKey = appKey;
}

public String getAppSecret() {
return appSecret;
}

public void setAppSecret(String appSecret) {
this.appSecret = appSecret;
}

public String getRequest_token_url() {
return request_token_url;
}

public void setRequest_token_url(String request_token_url) {
this.request_token_url = request_token_url;
}

public String getAuthoriz_token_url() {
return authoriz_token_url;
}

public void setAuthoriz_token_url(String authoriz_token_url) {
this.authoriz_token_url = authoriz_token_url;
}

public String getAccess_token_url() {
return access_token_url;
}

public void setAccess_token_url(String access_token_url) {
this.access_token_url = access_token_url;
}

}











                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: