1.场景介绍
要求获取微信小程序得用户画像
由于我们是saas平台 部分用户回馈可以把用户画像做到平台上,这样就可以在平台上直观得看到,不用每次都登入微信公众平台进行查看了
用户画像介绍:
用户画像为微信小程序提供得用户信息统计
分别位用户地区统计,终端机型统计,性别年龄统计
2.后端实现
因为我们做的多租户形式,所以案例实现以微信开放平台形式介绍
jar引入
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-open</artifactId>
<version>4.0.0</version>
</dependency>
注入
@Autowired
private WxOpenService wxOpenService;
实现
//通过openService拿到mini open为开放 mini为小程序
WxOpenMaService wxOpenMaService = this.wxOpenService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxMaAnalysisService analysisService = wxOpenMaService.getAnalysisService();
try {
Date start = new Date(System.currentTimeMillis()-720L*60*60*1000);
Date end = new Date(System.currentTimeMillis()-24*60*60*1000);
//根据开始结束时间获取用户画像
WxMaUserPortrait userPortrait = analysisService.getUserPortrait(start, end);
}catch (WxErrorException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
question1: errmsg: 'date range error hint: xxxxxx'
该处为时间错误:小程序用户画像不支持自定义时间
可传入结束时间为 近一周不包含今日
可传入开始时间为 昨天 前7天 前30天 分别为0/6/29 的时间间隔 距结束时间
其余实现参考地址:
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/data-analysis/analysis.getUserPortrait.html