千家信息网

微信开发之用户组的示例分析

发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要介绍微信开发之用户组的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1:创建用户组微信跟QQ一样可以创建组名,删除组名,修改组名,查询组名,这些操作都是一系
千家信息网最后更新 2025年11月15日微信开发之用户组的示例分析

这篇文章主要介绍微信开发之用户组的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1:创建用户组

微信跟QQ一样可以创建组名,删除组名,修改组名,查询组名,这些操作都是一系列的接口,只需要调用相关的接口,并以curl的形式进行发送,便可以获得相关的结果

创建分组

一个公众账号,最多支持创建100个分组。

接口调用请求说明

http请求方式: POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/groups/create?access_token=ACCESS_TOKEN

POST数据格式:json

POST数据例子:{"group":{"name":"test"}}

参数说明

参数 说明

access_token 调用接口凭证

name 分组名字(30个字符以内)

返回说明 正常时的返回JSON数据包示例:

{

"group": {

"id": 107,

"name": "test"

}

}

下面是相关代码的实现

我们需要通过curl的形式将数据包发送过去,返回的结果是一个StdClass形式的json数据,我们需要将stdClass进行转换为数组形式,所以我们创建一个func.php文件,后面的组的相关操作都基于这些函数

$value)                                 {                                           $data[$key]=transition($value);                                         }                                }                                return $data;                  }                  //将多维数组转成字符串                   function recount($result)                {                            if(is_array($result))                                {                           foreach($result as $key=>$value)                           {                                      recount($value);                                   return $value;                                   }                                                                  }                                                                                        }                  //access_token链接地址                  $access_token_url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$SECRET";                 //获取access_token.将返回的json格式转成数组,返回一个数组形式的access_token                 $access_token=(array)json_decode(curl($access_token_url));                 $access_token=$access_token['access_token'];                ?>

利用上面的access_token我们便可以做我们想做的任何事了

首先我们进行组的创建,我们将文件命名为creategroup.php

1 界面展示

看起来很简单的HTML的代码,相信有HTML基础的都能写出

那么如何创建组呢?很简单,我们只需将创建组的API链接提交过去就可以了

相关的代码

  '; ?>无标题文档      

新建分组

alert('执行成功,三秒之后将自动跳回主页')"; //设置跳转回主页 echo ""; } else {echo "";} } create_group(); } ?>

2:接下来是展示所有的组名,我们先看看微信官方的文档

查询所有分组

接口调用请求说明

http请求方式: GET(请使用https协议)https://api.weixin.qq.com/cgi-bin/groups/get?access_token=ACCESS_TOKEN

参数说明

参数 说明

access_token 调用接口凭证

返回说明 正常时的返回JSON数据包示例:

{    "groups": [        {            "id": 0,             "name": "未分组",             "count": 72596        },         {            "id": 1,             "name": "黑名单",             "count": 36        },         {            "id": 2,             "name": "星标组",             "count": 8        },         {            "id": 104,             "name": "华东媒",             "count": 4        },         {            "id": 106,             "name": "★不测试组★",             "count": 1        }    ]}

参数说明

参数 说明

groups 公众平台分组信息列表

id 分组id,由微信分配

name 分组名字,UTF8编码

count 分组内用户数量

错误时的JSON数据包示例(该示例为AppID无效错误):

官方文档对于返回的json数据已经很明了了,一个组名里边包含了基本的信息,组id,组名以及组内的用户数量。我们无法直接将返回的json数据直接显示到页面上,那么我们如何解析json呢?微信给我们返回的是一个stdclass类型的json,所以第一步我们需要将json转为数组,php中有一个json_decode()函数,此函数能够将json数据转为stdclass的数组,stdclass并不等于数组,所以我们还要讲stdclass转化为array形式,在func.php中transition()函数就有这样的功能。

我们先看看页面显示样子,看看我们通过curl从腾讯上获取的数据是什么样的

上图我们创建了一个表,第一行是一个创建新组的功能,在以下的行中,我们能够看到组编号,组名,以及组内人数。那么这个是如何做到的呢?很简单,当我们已经获取到返回回来的json数据之后,我们对json进行数据包装,把json做成数组形式。那么如何实现数据包装呢?也很简单,我们不断的调用解析函数,将它最终变为数组的形式,然后遍历这个数组就行了。

展示源代码:getGroup.php

      
$value) { $data[$key]=G_transition($value); }}return $data; } $result=G_transition($result); function G_recount($result){ if(is_array($result)){ foreach($result as $key=>$value) { G_recount($value); return $value; }}}$resultG=G_recount($result);echo ""; echo ""; echo "";for($i=0;$i"; foreach ($resultG[$i] as $key=>$value) { if($key=='id') { echo ""; } else { echo ""; }}echo "";}echo "
创建一个新组
编号组名人数[$value]删除修改 $value
";?>


3:我们如何修改分组名

修改分组名

接口调用请求说明

http请求方式: POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/groups/update?access_token=ACCESS_TOKEN

POST数据格式:json

POST数据例子:{"group":{"id":108,"name":"test2_modify2"}}

参数说明

参数 说明

access_token 调用接口凭证

id 分组id,由微信分配

name 分组名字(30个字符以内)

返回说明 正常时的返回JSON数据包示例:

{"errcode": 0, "errmsg": "ok"}

错误时的JSON数据包示例(该示例为AppID无效错误):

官方文档提供了修改分组名的接口,所以我们可以做一个修改的链接和一个修改组的modify.php文件

根据官方文档,我们需要通过组id才能进行修改,根据我们在创建组的时候传输过来的json数据中我们可以获取到组id,所有我们可以通过创建链接的方式,当点击链接的时候,会把组id以get的方式传送到modify文件中,而modify.php可以通过$_GET的形式接收组id.

我们先写好这个传送组id的链接,

      for($i=0;$i"; foreach ($resultG[$i] as $key=>$value)   {   if($key=='id')  {  echo "[$value]删除修改";  }  else   {        echo " $value";  }}echo "";}

代码中,我们对返回的数组进行遍历,如果发现key值是id,那么我们将值获取过来并且加入到链接尾部,注意get方式的写法

echo "[$value]删除修改";

跳转到modify.php页面后,我们进行相关的处理,在该页面上,我们仍然有一个HTML输入框

代码如下:

    

更新组名

alert(\"$result\"); ";//进行页面跳转 echo ""; }else{ echo "";}}if(isset($_POST['-1'])){modify();}?>

如果执行成功,那么会进行弹出提醒框,等待五秒后自动跳转回getGroup.php页面

4:删除组

组名一般不允许删除,但是微信平台仍然给出了相关的删除接口

注意本接口是删除一个用户分组,删除分组后,所有该分组内的用户自动进入默认分组。 接口调用请求说明

http请求方式: POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/groups/delete?access_token=ACCESS_TOKEN

POST数据格式:json

POST数据例子:{"group":{"id":108}}

参数说明

参数 说明

access_token 调用接口凭证

group 分组

id 分组的id

返回说明 正常时的返回JSON数据包示例:

通过传递的json数据,我们只需要将组id进行传递到delete.php页面并进行相关的删除操作即可

代码显示:

    array("id"=>$num)));//如果curl函数执行成功,那么会返回一个状态值if($result=curl($delete_url,$data)){ echo ""; //设置跳转回主页  echo "";}else{echo "";}}delete();?>

5:对组成员进行批量移动

有时候我们需要对组内的成员进行移动到其他的组里面,在这点上,微信平台也给出了相应的接口我们先看官方的文档说明

批量移动用户分组

接口调用请求说明

http请求方式: POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/groups/members/batchupdate?access_token=ACCESS_TOKEN

POST数据格式:json

POST数据例子:{"openid_list":["oDF3iYx0ro3_7jD4HFRDfrjdCM58","oDF3iY9FGSSRHom3B-0w5j4jlEyY"],"to_groupid":108}

参数说明

参数 说明

access_token 调用接口凭证

openid_list 用户唯一标识符openid的列表(size不能超过50)

to_groupid 分组id

返回说明 正常时的返回JSON数据包示例:

{"errcode": 0, "errmsg": "ok"}

从传递的json数据可以看到,具有一个open_list和一个to_groupid,分别表示要移动的组成员的openid和将要移动的组id.那么我们如何开始移动呢?现在已基本清楚了,只需要把openid传递到open_list,将组id传递到to_groupid中,然后将包装好的json数据通过curl函数post过去.在批量分组之前,我们还要知道一件事,如何获取用户的相关信息,这个信息指的是用户微信上设置的性别,省份,国家,语言,所属组等等的相关信息,同样,微信提供了获取用户信息的接口,参照上述解决方法就可以获取到用户的相关的信息

以下是获取到的用户表

通过第一列的选择之后,在选择要分的组,点击移动就可以将用户移动到想要的组里面,下图是移动后的展示

所属组编号发生了变化

源代码展示

"; $info_url="https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$value&lang=zh_CN"; $info=transition(json_decode(curl($info_url))); //var_dump($info); //echo "
"; // global $userinfo;//$userinfo=$info;//var_dump($userinfo); foreach($info as $key=>$value) { //对表格进行相关的修饰,进行相关的判断 switch($key){ //如果是id,那么做成一个复选框 case "openid": echo ""; case "subscribe"://忽略相关的描述,不对这个字段生成列 break; //如果是性别,性别值1代表男,0代表女,2代表并未填写 case "sex": if($value==1) { echo ""; } else if($value==0) { echo ""; } else { echo ""; } break; //如果是头像链接,那么生成一个50*50像素的图片 case "headimgurl"; echo ""; break; //以下是默认列 case "nickname": case "language": case "city": case "province": case "country": case "subscribe_time": echo ""; break; //如果remark的值为空,那么备注名是空值 case "remark": if(empty($value)) { echo ""; }else{echo "";}break;case "groupid": echo""; break;} } echo "";} } ?>
选择移动 昵称 性别 语言 所在城市 省份 国家 头像 加入时间 备注名 所属组 "; $count=count($resultG); foreach($resultG as $key)//遍历包装好的json数据,已经转成了多维数组 { echo ""; $count--; //获取组ID }echo ""; echo "";?> 暂未填写 $value暂无$value$value

move.php的代码 window.alert('移动成功') ";}?>

以上是"微信开发之用户组的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 分组 接口 用户 数组 参数 移动 示例 形式 方式 链接 代码 信息 函数 页面 成功 文档 凭证 官方 格式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库域名能够被解析 软件项目数据库备份策略 芜湖市有哪些网络技术有限公司 深圳市海跃网络技术公司 恒运软件开发通化有限公司 佳诚网络技术 软件开发合同范本2021 京唐数据库系统设计 服务器长时间运行关机断电 江苏配方管理软件开发 数据库保存数据之间的联系一致性 安川服务器5下载 浙江配件管理软件开发 计算机网络技术基础会计分录 mysql数据库被远程连接 江苏直销网络技术大概费用 网络安全的一些参考文献 江苏语音网络技术工程 软件开发应用技术工程师考试 广东光纤网络技术开发动态 软件开发甘特图模板制作 数据收集是数据库 恒善网络技术有限公司 无线网络技术结果分析 管家婆服务器对网速要求 新易通服务器哪个牌子好 河南专业软件开发费用 时间序列数据库TSDB排名 海军士官计算机网络技术 信息系统网络安全事件应急演练
0