PHP 微信公众号/小程序获取openid,用户信息

1.获取code (获得openid的前置条件)

地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=redirectUrl&response_type=code&scope=snsapi_userinfo&state=1&connect_redirect=1#wechat_redirect

需要填写APPID,回调地址 redirectUrl(拿到code后会回到这个地址,需要自己接收code),

2.获取openid (获得用户信息的前置条件)

公众号地址:https://api.weixin.qq.com/sns/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

小程序地址:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=CODE&grant_type=authorization_code

需要填写APPID,密钥AppSecret,上个操作获取的CODE 这里不止获取到了openid,还有一个access_token需要记录

3.获取用户信息

地址:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

需要填写上个操作获得的openid和access_token

例子:通过微信访问第一个链接(可以草料二维码生成,然后微信直接扫码),获取code进入这个回调的方法,通过get方法访问第2个地址,获取openid和access_token,

   /**
* 获取用户openid
*/
public function get_openid()
{
$input = input();
if(empty($input[\'code\']))
$this->error(\'用户code不能为空\');
$code = trim($input[\'code\']);
$re = curl_get($this->templateMessageUrl(3,$code));//获取公众号/小程序openid的地址
$re = json_decode($re, true);
p($re);die;
}

然后再用获取到的两个值访问第3个地址即可获取用户信息。

。。。省略