最近,对微信公众号有点兴趣,就自己研究了研究里面的一些内容,发现还挺有意思的,而且通过微信公众号可以调用一些比较有意思的接口,就比如百度开发服务平台 点击进入 里面的很有接口,就比较常见的翻译,语音识别,地理位置等等,都挺好的。好了,不多说,进入正题好了。
我想,做微信公众号开发的,对于想获取关注了公众号的用户信息,或者说是当前与后台服务器进行交互的当前用户信息,这个功能是很重要的吧。因为,通过这个,可以直接获取到当前的用户信息,而不需要,每次都是进行自己输入信息,这个只会让用户感觉到很不适。。。所以,为了解决这个需求,那咱们来研究研究,如何获取微信的个人信息~!
大家可以关注我的微信公众号:Java菜鸟进阶之路。便于日常阅读哦!
目录
(一)思路
我们来研究一下,要想获取到个人信息,是如何一个流程呢?
路线图:
上面,画了一个简单的一个流程图,我想,看着这个应该觉得不难吧。是的,确实思路很简单,但是,,里面的坑也不少。接下来,我对两种情况都进行讲解。
(二)情况一:通过用户与服务器进行消息交互,来获取用户信息
思路:针对这种情况的话,比较简单,因为,我们在做用户与服务器进行消息交互的时候,我们可以知道,用户发送的内容是以XML的形式进行发送的,然后服务器,首先接受到XML,然后再把XML转为Map对象,再从Map对象中获取对应的内容即可。那么,发送的XML的字段是个怎么样呢?
字段信息:
ToUserName:发送给谁的ID
FromUserName:发消息方的ID(其实也就是用户的OpenId)
CreateTime:消息发送时间,时间戳
MsgType:消息类似,有文本,图片,音频,视频,事件推送等
Content:发送的内容
通过这个,我想大家,再结合上面给的流程图,是不是发现了什么呢?是的,这个OpenId,我们已经获取了呀,那是不是可以直接获取到用户信息了呢?。。。。emmmmmm,这样说吧。差不多是可以的,那具体是怎么做呢?紧接着往下看,仔细看我其中的注释
步骤:
1:解析发送过来的XML信息格式,将其转为Map格式
/**
* XML格式转为map格式
* @param request
* @return
*/
public static Map<String , String> xmlToMap(HttpServletRequest request){
Map<String ,String> map = new HashMap<String , String>();
try {
InputStream inputStream =null;
inputStream = request.getInputStream();
SAXReader reader = new SAXReader();
Document doc = reader.read(inputStream);
Element rootElement = doc.getRootElement();
List<Element> elements = rootElement.elements();
for (Element el:elements) {
map.put(el.getName() , el.getText());
}
inputStream.close();
return map ;
} catch (Exception e) {
e.printStackTrace();
return null ;
}
}
备注:记得导入相应的包哦。。比如dom4j还有xsreader。。
2:获取用户的个人信息
package com.hnu.scw.utils;
import com.hnu.scw.model.AccessToken
今天的文章公众号获取我的信息_微信公众号推广分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/77346.html