mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-23 23:58:44 +08:00
增加用户标签查询接口
This commit is contained in:
parent
7bf7f2827b
commit
3ab8a3c7c6
@ -1,5 +1,7 @@
|
||||
package me.chanjar.weixin.mp.api;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
||||
|
||||
@ -13,14 +15,24 @@ public interface WxMpUserTagService {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 创建标签
|
||||
* 一个公众号,最多可以创建100个标签。
|
||||
* 创建标签
|
||||
* 一个公众号,最多可以创建100个标签。
|
||||
* 详情请见:<a href="http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140837&token=&lang=zh_CN">用户标签管理</a>
|
||||
* 接口url格式: https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN
|
||||
* </pre>
|
||||
*
|
||||
* @param name 分组名字(30个字符以内)
|
||||
* @param name 标签名字(30个字符以内)
|
||||
*/
|
||||
WxUserTag tagCreate(String name) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 获取公众号已创建的标签
|
||||
* 详情请见:<a href="http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140837&token=&lang=zh_CN">用户标签管理</a>
|
||||
* 接口url格式: https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESS_TOKEN
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
List<WxUserTag> tagGet() throws WxErrorException;
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,16 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.SimplePostRequestExecutor;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.api.WxMpUserTagService;
|
||||
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -15,7 +18,8 @@ import org.slf4j.LoggerFactory;
|
||||
* Created by Binary Wang on 2016/9/2.
|
||||
*/
|
||||
public class WxMpUserTagServiceImpl implements WxMpUserTagService {
|
||||
protected final Logger log = LoggerFactory.getLogger(WxMpDataCubeServiceImpl.class);
|
||||
protected final Logger log = LoggerFactory
|
||||
.getLogger(WxMpDataCubeServiceImpl.class);
|
||||
private static final String API_URL_PREFIX = "https://api.weixin.qq.com/cgi-bin/tags";
|
||||
|
||||
private WxMpService wxMpService;
|
||||
@ -32,11 +36,19 @@ public class WxMpUserTagServiceImpl implements WxMpUserTagService {
|
||||
groupJson.addProperty("name", name);
|
||||
json.add("tag", groupJson);
|
||||
|
||||
String responseContent = this.wxMpService.execute(
|
||||
new SimplePostRequestExecutor(),
|
||||
url,
|
||||
json.toString());
|
||||
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, name, responseContent);
|
||||
String responseContent = this.wxMpService.post(url, json.toString());
|
||||
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}", url, name,
|
||||
responseContent);
|
||||
return WxUserTag.fromJson(responseContent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WxUserTag> tagGet() throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/get";
|
||||
|
||||
String responseContent = this.wxMpService.get(url, null);
|
||||
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}", url, "[empty]",
|
||||
responseContent);
|
||||
return WxUserTag.listFromJson(responseContent);
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,12 @@
|
||||
package me.chanjar.weixin.mp.bean.tag;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
@ -53,7 +56,15 @@ public class WxUserTag {
|
||||
}
|
||||
|
||||
public static WxUserTag fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(new JsonParser().parse(json).getAsJsonObject().get("tag"), WxUserTag.class);
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(json).getAsJsonObject().get("tag"),
|
||||
WxUserTag.class);
|
||||
}
|
||||
|
||||
public static List<WxUserTag> listFromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(json).getAsJsonObject().get("tags"),
|
||||
new TypeToken<List<WxUserTag>>(){}.getType());
|
||||
}
|
||||
|
||||
public String toJson() {
|
||||
|
@ -3,6 +3,9 @@ package me.chanjar.weixin.mp.api.impl;
|
||||
import com.google.inject.Inject;
|
||||
import me.chanjar.weixin.mp.api.ApiTestModule;
|
||||
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
@ -26,4 +29,11 @@ public class WxMpUserTagServiceImplTest {
|
||||
Assert.assertEquals(tagName, res.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTagGet() throws Exception {
|
||||
List<WxUserTag> res = this.wxService.getUserTagService().tagGet();
|
||||
System.out.println(res);
|
||||
Assert.assertNotNull(res);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user