(二)网页授权获取用户基本信息
在公众号的配置过程中,许多开发者会在菜单中加入HTML5页面,有时在页面内需要访问页面的用户信息,此时就需要网页授权获取用户基本信息
PS:本博文所阐述的微信开发基于Yii2.0框架
1、设置授权回调域名:开发 —> 接口权限
找到“网页授权获取用户基本信息”,点击后面对应的“修改”,在弹框响应位置填写授权回调域名即可,此处的域名不需要加http:// (关于网页授权回调域名的说明详情可参考公众平台开发者文档)
2、获取授权
关于OAuth2.0博主参考的是方倍工作室的博文http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html(PS:方倍是一个微信开发大神,其中的微信开发内容还是比较详细的,推荐参考),其中详细剖析了微信官方文档的相关内容,也提供了获取授权的更详细思路和方案。
实际上,获取用户信息的关键在于获取用户的openid。博主想要实现用户点击公众号菜单打开页面即可自动授权,从而针对该用户进行数据库操作,于是有下面两种方式:
(1)利用自定义菜单请求授权页面
自定义菜单后面会单独写一篇博文,在这里先简述一下通过自定义菜单进行授权,该方法需要高级接口权限,且局限于关注公众号的用户直接从菜单进入页面。
<span style="color: #008080"> 1</span> <span style="color: #800080">$menu</span> = '<span style="color: #000000">{</span><span style="color: #008080"> 2</span> <span style="color: #000000"> "button":[</span><span style="color: #008080"> 3</span> <span style="color: #000000"> {</span><span style="color: #008080"> 4</span> <span style="color: #000000"> "type": "view",</span><span style="color: #008080"> 5</span> <span style="color: #000000"> "name": "商城",</span><span style="color: #008080"> 6</span> <span style="color: #000000"> <i style="color:transparent">本¥文来源gaodai$ma#com搞$代*码*网(</i><strong>搞代gaodaima码</strong> "url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=http://tx.heivr.com/index.php&response_type=code&scope=snsapi_base&state=1#wechat_redirect"</span><span style="color: #008080"> 7</span> <span style="color: #000000"> },</span><span style="color: #008080"> 8</span> <span style="color: #008080"> 9</span> <span style="color: #000000"> {</span><span style="color: #008080">10</span> <span style="color: #000000"> "name":"快递服务",</span><span style="color: #008080">11</span> <span style="color: #000000"> "sub_button":[</span><span style="color: #008080">12</span> <span style="color: #000000"> {</span><span style="color: #008080">13</span> <span style="color: #000000"> "type":"click",</span><span style="color: #008080">14</span> <span style="color: #000000"> "name":"发快递",</span><span style="color: #008080">15</span> <span style="color: #000000"> "key":"express"</span><span style="color: #008080">16</span> <span style="color: #000000"> },</span><span style="color: #008080">17</span> <span style="color: #000000"> {</span><span style="color: #008080">18</span> <span style="color: #000000"> "type":"click",</span><span style="color: #008080">19</span> <span style="color: #000000"> "name":"快递查询",</span><span style="color: #008080">20</span> <span style="color: #000000"> "key":"ww"</span><span style="color: #008080">21</span> <span style="color: #000000"> }</span><span style="color: #008080">22</span> <span style="color: #000000"> ]</span><span style="color: #008080">23</span> <span style="color: #000000"> },</span><span style="color: #008080">24</span> <span style="color: #000000"> ]</span><span style="color: #008080">25</span> }';