微信网页获取用户基本信息(无需弹出授权页面)

之前写过文章微信网页授权获取用户基本信息讲网页开发的时候,有时候需要获取用户的昵称头像等个人基本信息,获取用户的基本信息,可以通过网页授权,用户同意之后,获取到,如图所示:


但是, 这样就多了一个步骤,有的用户可能看到多一个步骤,就随手点击回退,就这么失掉了一个宝贵的用户,很是遗憾,那么今天我们就使用另一种方式来获取用户信息,就是通过OpenID来获取用户基本信息。这种方式可就简单多了,在 用户不知不觉的情况下,我们就拿到了他的个人信息,而且这样获取的信息比授权获取的还要多,比如这样还 可以知道该用户是否关注以及关注时间

前期准备:
获取到用户的openid,这个在上一篇文章讲过了,详见: 微信公众号获取用户的openid

话不多说,直接上代码:

//获取令牌
public function getAccessToken(){
	
	//指定保存文件位置
	if(!is_dir('./access_token/')){
		mkdir(iconv("GBK","UTF-8",'./access_token/'),0777,true); 
	}
	$file = './access_token/token';
	if(file_exists($file)){
		$content = file_get_contents($file);
		$cont = json_decode($content);
		if( (time()-filemtime($file)) < $cont->expires_in){   //当前时间-文件创建时间<token过期时间
			return $cont->access_token;
		}
	}
	
	$curl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->appid.'&secret='.$this->appsecret;
	$content = $this->_request($curl);
	file_put_contents($file,$content);
	$cont = json_decode($content);
	return $cont->access_token;

}

/**
 * 通过openid拉取用户信息
 * @param  string $openid [description]
 * @return [type]         [description]
 */
public function getUserInfo($openid=''){
	if(!$openid) return false;
	$access_token = $this->getAccessToken();
	$urlStr = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN';
	$url = sprintf($urlStr,$access_token,$openid);
	$result = json_decode($this->_request($url),true);
	return $result;
}
就可以在用户不知不觉的时候,拿到如下信息:


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值