package org.czzz.demo;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.content.Context;
import com.weibo.net.Weibo;
import com.weibo.net.WeiboDialogListener;
public class SinaOAuth {
public static final String SINA_OAUTH_CODE_BASE_URL = "https://api.weibo.com/oauth2/authorize";
public static final String SINA_OAUTH_TOKEN_BASE_URL = "https://api.weibo.com/oauth2/access_token";
public static final String APP_KEY = "931381862";
public static final String APP_SECRET = "277aec0e9ef5a5bec4bc48dadc595916";
public static final String REDIRECT_URL = "http://www.sina.com";
Weibo weibo;
/**
* 打开网页,豆瓣认证,回调context的onNewIntent方法
* @param context
*/
public void lauchforVerifyCode(Context context){
// Uri uri = Uri.parse(
// SINA_OAUTH_CODE_BASE_URL
// + "?client_id=" + APP_KEY
// + "&redirect_uri=" + REDIRECT_URL
// + "&response_type=code");
// Intent it = new Intent(Intent.ACTION_VIEW, uri);
// context.startActivity(it);
weibo = Weibo.getInstance();
weibo.setupConsumerConfig(APP_KEY, APP_SECRET);
weibo.setRedirectUrl(REDIRECT_URL);
// 认证
// weibo.authorize((Activity)context, new WeiboDialogListener());
}
/**
* 通过第一步的code,获取accessToken
* @param code 第一步认证的code
* @param listener AsynTask回调监听:listener的type为1
*/
public void fetchAccessToken(String code, HttpListener listener) {
List<NameValuePair> params = null;
params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("client_id",
APP_KEY));
params.add(new BasicNameValuePair("client_secret", APP_SECRET));
params.add(new BasicNameValuePair("redirect_uri", REDIRECT_URL));
params.add(new BasicNameValuePair("grant_type", "authorization_code"));
params.add(new BasicNameValuePair("code", code));
new HttpPostTask(listener).execute(SINA_OAUTH_TOKEN_BASE_URL, params);
}
}