java读取微信消息_微信公众平台开发中使用Java如何实现获取用户的信息
微信公众平台开发中使用Java如何实现获取用户的信息
发布时间:2020-11-18 15:09:28
来源:亿速云
阅读:93
作者:Leah
本篇文章为大家展示了微信公众平台开发中使用Java如何实现获取用户的信息,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
(一)用户微信消息的获取实现
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。
http请求方式:GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
在这里我写了一个方法类GetUseInfo.java,在方法中我们只需要传入openid即可返回(昵称,图像、性别【其他参数可自行获取】),代码实现如下:
package com.cuiyongzhi.wechat.common;
import java.util.HashMap;
import com.cuiyongzhi.web.util.GlobalConstants;
import com.cuiyongzhi.wechat.util.HttpUtils;
import net.sf.json.JSONObject;
/**
* ClassName: GetUseInfo
* @Description: 获取微信用户信息
* @author dapengniao
* @date 2016年3月18日 下午2:00:52
*/
public class GetUseInfo {
/**
* @Description: 通过openid获取用户微信信息
* @param @param openid
* @param @return
* @param @throws Exception
* @author dapengniao
* @date 2016年3月18日 下午2:01:30
*/
public static HashMap Openid_userinfo(String openid)
throws Exception {
HashMap params = new HashMap();
params.put("access_token",
GlobalConstants.getInterfaceUrl("access_token")); //定时器中获取到的token
params.put("openid", openid); //需要获取的用户的openid
params.put("lang", "zh_CN");
String subscribers = HttpUtils.sendGet(
GlobalConstants.getInterfaceUrl("OpenidUserinfoUrl"), params);
System.out.println(subscribers);
params.clear();
//这里返回参数只取了昵称、头像、和性别
params.put("nickname",
JSONObject.fromObject(subscribers).getString("nickname")); //昵称
params.put("headimgurl",
JSONObject.fromObject(subscribers).getString("headimgurl")); //图像
params.put("sex", JSONObject.fromObject(subscribers).getString("sex")); //性别
return params;
}
}
(二)关注回复图文消息实现
在第一部分中有说道【在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID】,在我们的场景中获取关注者openid的事件就是用户的关注事件,同时我们也是在关注事件中给关注者被动回复图文消息(图文消息的回复实现可参照:Java微信公众平台开发(5) 文本及图文消息回复的实现 ),其实现过程:
通过关注事件获取到openid,调用获取用户信息接口获取关注者相关接口;
在关注事件被动回复中设置图文消息的title以及图片,回复给关注者;
简单代码实现如下:
//对图文消息
NewsMessage newmsg=new NewsMessage();
newmsg.setToUserName(openid);
newmsg.setFromUserName(mpid);
newmsg.setCreateTime(new Date().getTime());
newmsg.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
if (map.get("Event").equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)) { // 关注事件
System.out.println("==============这是关注事件!");
try {
HashMap userinfo=GetUseInfo.Openid_userinfo(openid);
Article article=new Article();
article.setDescription("欢迎来到崔用志的个人博客:菜鸟程序员成长之路!"); //图文消息的描述
article.setPicUrl(userinfo.get("headimgurl")); //图文消息图片地址
article.setTitle("尊敬的:"+userinfo.get("nickname")+",你好!"); //图文消息标题
article.setUrl("http://www.cuiyongzhi.com"); //图文url链接
List list=new ArrayList();
list.add(article); //这里发送的是单图文,如果需要发送多图文则在这里list中加入多个Article即可!
newmsg.setArticleCount(list.size());
newmsg.setArticles(list);
return MessageUtil.newsMessageToXml(newmsg);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("====代码有问题额☺!");
logger.error(e,e);
}
}
最终我们可以来看看我们的成果,这里为了看到效果很直观我先取消关注然后再次关注的,如下图:
上述内容就是微信公众平台开发中使用Java如何实现获取用户的信息,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
java读取微信消息_微信公众平台开发中使用Java如何实现获取用户的信息相关推荐
- 微信信息回复 java,微信公众平台开发中使用Java如何实现一个消息回复功能
微信公众平台开发中使用Java如何实现一个消息回复功能 发布时间:2020-11-17 16:11:11 来源:亿速云 阅读:82 作者:Leah 本篇文章给大家分享的是有关微信公众平台开发中使用Ja ...
- 微信公众平台开发中提示“该公众号提供的服务出现故障”问题解决
问题描述: 在处理室内数据推送的时候,服务器能正常接收并处理请求,,客户端也能正常接收消息 但是在每次收到消息后,微信界面会出现,"该公众号提供的服务出现故障"字样. 解决思路一: ...
- 微信公众平台开发中-SAE不支持XStream框架的解决方案
问题描述 最近几天(2014年8月20日之后),突然有不少网友反应,柳峰博客中的微信公众平台开发代码在SAE上运行会报错,或者是能正常部署,但向公众号发消息没反应.以前也有一些初学者质疑过我博客中的代 ...
- 微信公众平台开发中重复响应问题
问题描述: 在项目开发中 我们有些功能是需要查询远程数据库或者是获取设备端上传数据的,这时候如果远程服务器响应不及时,或者设备端响应延迟高,微信公众号就会出现该"该微信公众号出现故障&quo ...
- 微信公众平台--服务号/订阅号--网页授权获取用户基本信息
参考链接:https://www.cnblogs.com/admol/articles/4286487.html 注: 1.此为网页授权获取用户基本信息,必须为服务号,订阅号是没有权限通过网页授权来获 ...
- java se13安装教程_在Linux发行版中安装Java 13/OpenJDK 13的方法
本文介绍在Linux发行版Ubuntu 18.04/16.04.Debian 10/9.CentOS 7/8.Fedora 31/30/29中安装Java 13/OpenJDK 13.Java SE ...
- java+读取source资源_如何从JavaJAR文件中读取资源文件?
如何从JavaJAR文件中读取资源文件? 我试图从一个单独的JAR文件中访问一个XML文件,这个JAR是作为桌面应用程序运行的.我可以获得我需要的文件的URL,但是当我将它传递给FileReader( ...
- 微信公众平台开发(121) 微信二维码海报
关键字:微信公众平台 二维码 海报 作者:方倍工作室 原文: http://www.cnblogs.com/txw1958/p/weixin-poster.html 本文介绍微信公众平台下二维码海报的 ...
- java获取微信用户源码_Java微信公众平台开发(十)--微信用户信息的获取
前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...
最新文章
- 区块链和智能合约的关系
- word设置不同页脚
- 操作系统性能监控-磁盘IO
- Coursera课程Python for everyone:chapter6
- 如何删除git远程分支
- linux下使用VS CODE + CMAKE 调试C++程序
- 博客暂停通知-------10.1~11.24
- 【必懂C++】C++可真是个“固执”的小可爱 02
- P4831-Scarlet loves WenHuaKe【组合数学】
- 【计算机心理学】先设计再实现 在实现中完善设计
- 【转】RAX,eax,ax,ah,al 关系
- select 下拉框的选中项的change事件
- div html 下边加横线_css怎么添加下划线?
- css position理解
- Ubuntu16.04使用时的一些问题总结
- Java虚拟机面试总结
- 极域电子书包课堂管理系统怎么控屏_极域电子教室控屏时,怎么解除?
- OpenDDS简单示例,轻松入门
- ABAQUS二次开发手册【随书代码使用说明】
- (二)安装SVN服务器,web管理界面