6.8.3 修改分组名
修改分组名接口的作用是修改指定ID的分组名称。
1.接口描述
修改分组名接口的请求地址如下:
- https://api.weixin.qq.com/cgi-bin/groups/update?access_token=ACCESS_TOKEN
修改分组名时需要POST如下格式的JSON数据包:
- {
- "group": {
- "id": 108,
- "name": "test2_modify2"
- }
- }
上述JSON数据包表示将id为108的分组名称修改为“test2_modify2”。
接口调用成功时返回的JSON结果如下:
- {"errcode": 0, "errmsg": "ok"}
接口调用错误时返回的JSON结果示例如下:
- {"errcode":40013,"errmsg":"invalid appid"}
2.方法封装
笔者将修改分组的操作封装成updateGroup()方法,该方法的实现如下:
- /**
- * 修改分组名
- *
- * @param accessToken 接口访问凭证
- * @param groupId 分组id
- * @param groupName 修改后的分组名
- * @return true | false
- */
- public static boolean updateGroup(String accessToken,
- int groupId, String groupName) {
- boolean result = false;
- // 拼接请求地址
- String requestUrl = "https://api.weixin.qq.com/cgi-bin/
- groups/update?access_token=ACCESS_TOKEN";
- requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken);
- // 需要提交的JSON数据
- String jsonData = "{\"group\": {\"id\": %d, \"name\": \"%s\"}}";
- // 修改分组名
- JSONObject jsonObject = CommonUtil.httpsRequest(requestUrl, "POST",
- String.format(jsonData, groupId, groupName));
- if (null != jsonObject) {
- int errorCode = jsonObject.getInt("errcode");
- String errorMsg = jsonObject.getString("errmsg");
- if (0 == errorCode) {
- result = true;
- log.info("修改分组名成功 errcode:{} errmsg:{}", errorCode, errorMsg);
- } else {
- log.error("修改分组名失败 errcode:{} errmsg:{}", errorCode, errorMsg);
- }
- }
- return result;
- }
3.案例:修改分组名
下面是调用updateGroup()方法修改分组名的案例。
- public static void main(String args[]) {
- // 获取接口访问凭证
- String accessToken = CommonUtil.getToken("APPID", "APPSECRET").getAccessToken();
- // 修改分组名
- updateGroup(accessToken, 100, "同事");
- }
上面示例的作用是将id为100的分组名称修改为“同事”。如果公众账号存在id为100的分组,将会看到如下运行结果:
- [INFO ] 2013-11-11 02:54:56,010 org.liufeng.course.util.AdvancedUtil 修改分组名成功 errcode:0 errmsg:ok