微信公众平台,如何获取用户ID

如题所述

网页上不能直接获取,只能通过Oauth 2.0接口来获取。
但是该接口是属于高级接口,得需要给腾讯交钱的,而且只有服务号能享用。

对于订阅号来说,只能通过接口来获取。说白了,你能拿到OpenID的Session,是你服务器和微信服务器之间的Session,不是和客户之间的Session。
你接到用户发来的信息后,可以在24小时内给用户回复信息,无论是图文信息还是文字信息,都可以加入链接。此时,你可以将OpenID构造到URL里发给用户。当用户点击后,你和客户之间的Session就可以获取到他的OpenID。

因为你和客户之间的OpenID是明文满天飞,这里面要注意这么几个安全性问题:
1、发图文块的时候,要发两条信息,单条是可以被转发的,两条的话,用户就无法转发,只能删除了。避免用户将自己的OpenID泄露。
2、用户点击图文块的那张页面进去后,要隐藏右上角的分享图标。
3、要判断浏览器的UserAgent是否来自于MicroMessage
4、如果目标页面需要分享,要构造一个Form表单,用POST的方式将OpenID传过去。
5、实际项目经验中,需要对传来的参数拼在一起,做一下SHA1签名认证。
6、服务器能用SSL,就尽量用SSL,证书也不贵,大概也就3000-5000左右,让公司出钱买。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-05
如何获取用户的OpenID,对于微信开发模式下的开发来说,那就是一个非常简单的小功能了。简单介绍一下我是怎样去获取OpenID的。
微信服务器与公众账号服务器交互的信息可以分为3类:请求消息、事件和响应消息。
(1)请求消息指用户发送给公众账号的信息包含: 文本消息、图片消息、语音消息、视频消息、小视频消息、 地理位置消息、链接消息
(2)事件指用户对公众账号的做出的某种操作时,会使得微信服务器通过事件推送的形式通知到公众账号服务器,从而开发者可以获取到该信息。包含:关注/取消关注事件、扫描带参数二维码事件、 上报地理位置事件、 自定义菜单事件、 点击菜单拉取消息时的事件推送、 点击菜单跳转链接时的事件推送
消息触发时无论请求消息还是事件,公众账号服务器都会获得一个XML格式的数据包。
相似回答