再来看一下模板推送的post请求数据 ?(以微信给的为例):
?
POST数据说明
POST数据示例如下:
{?"touser":"OPENID",
?"template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
?"url":"http://weixin.qq.com/download",
?"data":{
?"first":?{
?"value":"恭喜你购买成功!",
?"color":"#173177"
?},
?"keynote1":{
?"value":"巧克力",
?"color":"#173177"
?},
?"keynote2":?{
?"value":"39.8元",
?"color":"#173177"
?},
?"keynote3":?{
?"value":"2014年9月22日",
?"color":"#173177"
?},
?"remark":{
?"value":"欢迎再次购买!",
?"color":"#173177"
?}
?}
?}
参数说明
返回码说明
在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{?"errcode":0,
?"errmsg":"ok",
?"msgid":200228332
?}
使用效果
? ? ? ? ? ? ? 网上普遍的用法都是网页登录授权,用户确认登录,然后返回用户的基本信息,微信也给出了接口文档 ?https://mp.weixin.qq.com/wiki?id=mp1421140842&highline=openid? ? 可以参照这个获取你想要的用户的openid。
? ? ? ? ? ? ?当然,我采用的不是上述方法,我直接获取所有用户的openid,微信官方给出的接口文档,https://mp.weixin.qq.com/wiki?id=mp1421140840&highline=%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8%7C%26%E8%8E%B7%E5%8F%96%7C%26%E5%88%97%E8%A1%A8%7C%26%E7%94%A8%E6%88%B7
? ? ?
接口调用请求说明
http请求方式: GET(请使用https协议)
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
返回说明
正确时返回JSON数据包:
错误时返回JSON数据包(示例为无效AppID错误):
? ? 直接获取到所有人的openid 信息,但是你不知道,谁是谁,没办法找到你所要的人对应的 openid .
? ? 得到openid之后,可以直接根据openid,获取到用户的基本信息。https://mp.weixin.qq.com/wiki?id=mp1421140839&highline=%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%7C%26%E7%94%A8%E6%88%B7
? ? ?
获取用户基本信息(包括UnionID机制)
开发者可通过OpenID来获取用户基本信息。请使用https协议。
接口调用请求说明
http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN?
参数说明
返回说明
正常情况下,微信会返回下述JSON数据包给公众号:
{
? ?"subscribe": 1,?
? ?"openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",?
? ?"nickname": "Band",?
? ?"sex": 1,?
? ?"language": "zh_CN",?
? ?"city": "广州",?
? ?"province": "广东",?
? ?"country": "中国",?
? ?"headimgurl": ?"http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4
eMsv84eavHiaiceqxibJxCfHe/0",
? "subscribe_time": 1382694957,
? "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
? "remark": "",
? "groupid": 0,
? "tagid_list":[128,2]
}
参数说明
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
? ? ?然后根据用户的昵称和一些基本信息就可以得到用户的openid.
? ? ?可以自己写个程序跑一下,一次将所有人的openid都拿到,之后用的时候直接找就可以了。openid就是微信号的加密,但是对于不同的微信公众号openid是不一样的。
未经允许不得转载: 十堰秦楚网 十堰资讯门户网站 十堰主流资讯媒体 » 微信公众号开发模板消息推送(二) 获取openid java