微信公众号开发之获取微信用户的openID

(注:openID同一用户同一应用惟一,UnionID同一用户不一样应用惟一。不一样应用指微信开放平台下的不一样用户。)api

一、  申请测试号(得到appID、appsecret)服务器

二、  填写服务器配置并验证。微信

服务端编写接口,参数为(signature,timestamp,nonce,echostr),并原样返回echostrapp

    

         验证以后,可开通更多公众平台接口功能。dom

三、  网页受权获取用户基本信息。测试

3.一、在接口权限表配置受权页面回调域名或ip3d

   

3.二、服务端编写接口,该接口为回调页面的[redirect_uri],即确认受权以后页面将跳转至 [redirect_uri]?code=CODE&state=STATE。服务端接收参数CODE值。code

3.三、微信用户访问下面连接,受权。xml

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=[redirect_uri]&response_type=code&scope=SCOPE&state=123#wechat_redirectblog

(scope=snsapi_base,默认受权,直接跳转;scope= snsapi_userinfo,受权再跳转)

 

3.三、获取code后,请求如下连接,便可返回openID等数据(以下图)。

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

 

(三、方法二:接收事件推送(事件:关注、取关、扫码、报位置、自定义菜单事件),这些事件触发的时候,会把一个xml数据包(以下图)发送到步骤2配的URL上,在服务端解析便可。

个人代码中用到dom4j解析xml。事件推送以及Token验证共用那个URL。

 

 

 

其中FromUserName即为openID。)

四、得到openID

相关文章
相关标签/搜索