import org.apache.commons.httpclient.NameValuePair; //导入方法依赖的package包/类
/**
* 获取新浪登录认证token和用户id
*
* @param code
* @param host
* @return
*/
public static final JSONObject getSinaTokenAndUid(String code, String host) {
JSONObject json = null;
try {
// 获取令牌
String tokenUrl = Resources.THIRDPARTY.getString("accessTokenURL_sina");
ArrayList list = new ArrayList();
NameValuePair params1 = new NameValuePair();
params1.setName("client_id");
params1.setValue(Resources.THIRDPARTY.getString("app_id_sina"));
list.add(params1);
NameValuePair params2 = new NameValuePair();
params2.setName("client_secret");
params2.setValue(Resources.THIRDPARTY.getString("app_key_sina"));
list.add(params2);
NameValuePair params3 = new NameValuePair();
params3.setName("grant_type");
params3.setValue("authorization_code");
list.add(params3);
NameValuePair params4 = new NameValuePair();
params4.setName("redirect_uri");
params4.setValue("http://" + host + Resources.THIRDPARTY.getString("redirect_url_sina"));
list.add(params4);
NameValuePair params5 = new NameValuePair();
params5.setName("code");
params5.setValue(code);
list.add(params5);
String tokenRes = HttpUtil.httpClientPost(tokenUrl, list);
// String tokenRes = httpClient(tokenUrl);
// {"access_token":"2.00AvYzKGWraycB344b3eb242NUbiQB","remind_in":"157679999","expires_in":157679999,"uid":"5659232590"}
if (tokenRes != null && tokenRes.indexOf("access_token") > -1) {
json = JSONObject.parseObject(tokenRes);
} else {
throw new IllegalArgumentException(Resources.getMessage("THIRDPARTY.LOGIN.NOTOKEN", "sina"));
}
} catch (Exception e) {
logger.error("", e);
}
return json;
}