java微信接口之二—获取用户组

一、微信获取用户组接口简介

  1、请求

  该请求也是GET方式请求。请求的url格式如下:

  https://api.weixin.qq.com/cgi-bin/groups/get?access_token=ACCESS_TOKEN

  其中ACCESS_TOKEN是之前我们获取到的。

  2、响应

  该响应也是以json方式返回的

  正确的时候返回的数据:

{
    "groups": [
        {
            "id": 0,
            "name": "未分组",
            "count": 72596
        },
        {
            "id": 1,
            "name": "黑名单",
            "count": 36
        },
        {
            "id": 2,
            "name": "星标组",
            "count": 8
        }   ]} 

  groups,对应返回的用户组信息数组;id,用户组id;name,用户组名称;count,用户数量。

  错误的时候返回的数据:{"errcode":40013,"errmsg":"invalid appid"}

  errcode,为错误代码,errmsg为错误信息

  具体api可查看文档:http://mp.weixin.qq.com/wiki/index.php?title=%E5%88%86%E7%BB%84%E7%AE%A1%E7%90%86%E6%8E%A5%E5%8F%A3

二、关于java代码的调用

  这里与获取access_token一样使用的都是apache的http组件httpcomponents-client。

三、代码实现

 1 import java.util.Arrays;
 2
 3 import org.apache.http.HttpEntity;
 4 import org.apache.http.HttpResponse;
 5 import org.apache.http.HttpStatus;
 6 import org.apache.http.client.HttpClient;
 7 import org.apache.http.client.methods.HttpGet;
 8 import org.apache.http.impl.client.DefaultHttpClient;
 9 import org.apache.http.util.EntityUtils;
10
11 import com.google.gson.JsonArray;
12 import com.google.gson.JsonObject;
13 import com.google.gson.JsonParser;
14
15 public class Test
16 {
17     public static final String GET_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";// 获取access
18     public static final String GET_USER_GROUP = "https://api.weixin.qq.com/cgi-bin/groups/get"; // url
19     public static final String APP_ID = "wxa549b28c24cf341e";
20     public static final String SECRET = "78d8a8cd7a4fa700142d06b96bf44a37";
21
22     /**
23      * 获取用户组信息
24      *
25      * @param url
26      *            访问url
27      * @param token
28      *            access_token
29      * @return id字符串,每个id以,分割
30      */
31     public static String getGroups(String url, String token)
32     {
33         String groupurl = String.format("%s?access_token=%s", url, token);
34         System.out.println(groupurl);
35         HttpClient client = new DefaultHttpClient();
36         HttpGet get = new HttpGet(groupurl);
37         String result = null;
38         try
39         {
40             HttpResponse res = client.execute(get);
41             String responseContent = null; // 响应内容
42             HttpEntity entity = res.getEntity();
43             responseContent = EntityUtils.toString(entity, "UTF-8");
44             JsonParser jsonparer = new JsonParser();// 初始化解析json格式的对象
45             JsonObject json = jsonparer.parse(responseContent)
46                     .getAsJsonObject();// 将json字符串转换为json对象
47             if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK)// 成功返回消息
48             {
49                 if (json.get("errcode") == null)// 不存在错误消息,成功返回
50                 {
51                     JsonArray groups = json.getAsJsonArray("groups"); // 返回对象数组
52                     StringBuffer buffer = new StringBuffer();
53                     for (int i = 0; i < groups.size(); i++)
54                     {
55                         buffer.append(groups.get(i).getAsJsonObject().get("id")
56                                 .getAsString()
57                                 + ",");
58                     }
59                     result = buffer.toString();
60                 }
61             }
62         }
63         catch (Exception e)
64         {
65             e.printStackTrace();
66         }
67         finally
68         { // 关闭连接 ,释放资源
69             client.getConnectionManager().shutdown();
70             return result;
71         }
72     }
73
74     public static void main(String[] args) throws Exception
75     {
76         System.out.println("=========1获取token=========");
77         String accessToken = getToken(GET_TOKEN_URL, APP_ID, SECRET);// 获取token在微信之一中的方法获取token
78         if (accessToken != null)// token成功获取
79         {
80             String ids = getGroups(GET_USER_GROUP, accessToken);
81             if (ids != null)
82             {
83                 String[] idarray = ids.split(",");// 用户组id数组
84                 System.out.println(ids);
85             }
86         }
87     }
88 }

  成功调用或

时间: 2024-10-17 21:51:00

java微信接口之二—获取用户组的相关文章

java微信接口之五—消息分组群发

一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN   其中ACCESS_TOKEN是我们动态获取的.   发送的数据:(这里使用图文消息示例) { "filter":{ "group_id":"2" }, "mpnews":{ "me

java微信接口之四—上传素材

一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN 其中ACCESS_TOKEN是我们动态获取的. 发送的数据: {"articles":[ { "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXC

Java并发学习之二——获取和设置线程信息

本文是学习网络上的文章时的总结,感谢大家无私的分享. Thread类的对象中保存了一些属性信息能够帮助我们辨别每一个线程,知道它的一些信息 ID:每个线程的独特标示: Name:线程的名称: Priority:线程对象的优先级.优先级别在1-10之间,1是最低级,10是最高级. Status:线程状态.在java中,线程只有6种状态:new,runnable,blocked,waiting,time waiting 或terminated. 现在写一个程序,将线程的信息保存到文件中方便查看 pa

(7)微信二次开发 之 微信接口凭证的获取

p.p1 { margin: 13.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px SimSun } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 10.5px SimSun } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 10.5px "Times N

java微信接口开发java SpringMVC mybatis 后台框架 集成代码生成器开发利器

获取[下载地址]   QQ: 313596790   [免费支持更新]支持三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]A 代码生成器(开发利器);      增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid

java 微信自定义菜单 java微信接口开发 公众平台 SSM redis shiro 多数据源

获取[下载地址]   QQ: 313596790官网 http://www.fhadmin.org/A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都

java微信小程序参数二维码生成带背景图加字体(无限生成)

需求 :  1,因为项目需求 ,生成数以万计的二维码    2 ,每个二维码带不同的参数  3,二维码有固定背景图 4 , 往生成图片上写入 字体和编号(动态 ) 设计技术 :    1,微信接口token ,nginx 缓存  2,二维码 图片定义 写字 maven <dependency> <groupId>com.twelvemonkeys.imageio</groupId> <artifactId>imageio-jpeg</artifactI

java微信接口之三—上传多媒体文件

一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE 其中ACCESS_TOKEN是我们动态获取的,TYPE是 媒体文件类型.有以下几种类型:,分别有图片(image).语音(voice).视频(video)和缩略图(thumb). post提交的数据就

java微信接口之——获取access_token

一.微信获取access_token接口简介 1.请求:该请求是GET方式请求,所以要携带的参数都是附加到url后面传递给微信服务器.请求的url格式如下: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 其中,APPID与APPSECRET都我们开发的时候自己帐号申请的. 2.响应:返回数据都是json数据,格式如下: 正确的时候返回的数据: