您的位置:首页 > 移动开发 > 微信开发

微信工具类(常用接口)的整理

2014-11-05 19:27 344 查看
/**
* 根据微信用户的AppId和AppSecret获取access token
* @param wxAppId 微信用户的AppId
* @param wxAppSecret 微信用户的AppSecret
* @return 微信服务器的access token
*/
public static String getAccessToken(String wxAppId, String wxAppSecret) {
String retStr = "";

try {
String baseUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="
+ wxAppId + "&secret=" + wxAppSecret;

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(baseUrl);
HttpResponse response = httpclient.execute(httpget);
String wxResultStr = EntityUtils.toString(response.getEntity());
// 返回的数据类似【{"access_token":"ACCESS_TOKEN","expires_in":7200}】
JSONObject objRoot = new JSONObject(wxResultStr);
retStr = objRoot.getString("access_token");
} catch (Exception e) {
e.printStackTrace();
}

return retStr;
}


/**
* 从微信服务器取回菜单详细信息
* @param accessToken 微信服务器访问所需accessToken
* @return 菜单详细信息
*/
public static String getMenuInfoFromQQ(String accessToken) {
String retStr = "";

try {
String baseUrl = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" + accessToken;

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(baseUrl);
HttpResponse response = httpclient.execute(httpget);
retStr = EntityUtils.toString(response.getEntity(), "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return retStr;
}


/**
* 创建腾讯服务器的菜单信息
* @param accessToken 微信服务器访问所需accessToken
* @param menuInfoStr 菜单信息
* @return true:创建成功<br/>
*        false:创建失败
*/
public static boolean createMenuInfo2QQ(String accessToken, String menuInfoStr) {
boolean retBool = false;

try {
String baseUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + accessToken;

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(baseUrl);
httppost.setEntity(new StringEntity(menuInfoStr, HTTP.UTF_8));
HttpResponse response = httpclient.execute(httppost);
String wxResultStr = EntityUtils.toString(response.getEntity());
// 返回的数据类似【{"errcode":0,"errmsg":"ok"}】
JSONObject objRoot = new JSONObject(wxResultStr);
if ("ok".equalsIgnoreCase(objRoot.getString("errmsg"))) {
retBool = true;
}
} catch (Exception e) {
e.printStackTrace();
}

return retBool;
}


/**
* 删除腾讯服务器的菜单信息
* @param accessToken 微信服务器访问所需accessToken
* @return true:删除成功<br/>
*        false:删除失败
*/
public static boolean delMenuInfoFromQQ(String accessToken) {
boolean retBool = false;

try {
String baseUrl = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" + accessToken;

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(baseUrl);
HttpResponse response = httpclient.execute(httpget);
String wxResultStr = EntityUtils.toString(response.getEntity());
// 返回的数据类似【{"errcode":0,"errmsg":"ok"}】
JSONObject objRoot = new JSONObject(wxResultStr);
if ("ok".equalsIgnoreCase(objRoot.getString("errmsg"))) {
retBool = true;
}
} catch (Exception e) {
e.printStackTrace();
}

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