微信公众号获取用户头像、昵称等信息

20 篇文章 0 订阅

微信公众号网页可以获取用户头像昵称等信息,具体怎么获取看代码:

前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="keywords" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
    <title></title>
    <link rel="icon" href="" type="image/x-icon"/>
    <script src="js/jquery-1.11.0.min.js"></script>
    <style>
        
    </style>
</head>
<body>
   
    <div class="jpmenpiao">
        <img id="headimgurl" src=""/>
    </div>        
    <script>      
        function getUrlParam (name) {
          var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
          let url = window.location.href.split('#')[0]
          let search = url.split('?')[1]
          if (search) {
            var r = search.substr(0).match(reg)
            if (r !== null) return unescape(r[2])
            return null
          } else {
            return null
          }
        }
        var code = getUrlParam('code');
        var local = window.location.href;
		console.log(code);
        var userinfoid;
        var userinfoname;
        var userinfoimg;
        if(code==null||code==''){
            window.location.href ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7bd203a60100c6d4&redirect_uri="+encodeURIComponent(local)+"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"
        }else{
            $.ajax({
                url:'https:/#####/index.php/Home/Getuserwxinfo/getuserinfo',
                type:'post',
                dataType:'json',
                data:{'code':code},
                success:function(data){
					console.log(data);
					console.log(data.data.headimgurl);
                    $('#headimgurl').attr('src',data.data.headimgurl);
					localStorage.setItem("headimgurl",data.data.headimgurl);
                   
                },
                error:function (error) {
                    console.log(error)
                }
            });
        }
    </script>
</body>
</html>

后端代码:

	public function getuserinfo(){
   		
	    $appid  = "微信公众号APPID";
	    $secret = "微信公众号secret";	
	    //这里获取到了code
	    $code   = $_POST['code'];	
		//$code = "051c0vFa1HfTbA0fTRFa1jfbr81c0vF0";
	    //第一步:取得openid
	    $oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$secret."&code=".$code."&grant_type=authorization_code";
	   
		$oauth2 = $this->http_curl($oauth2Url);
	    //accestoken
	    $access_token = $oauth2["access_token"];
	    //openid
	    $openid = $oauth2['openid'];	
	    //第二步:根据全局access_token和openid查询用户信息
	    $get_user_info_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";
	    $userinfo = $this->http_curl($get_user_info_url);
		
		$arr = array('status' => 200,'data'=>$userinfo,'openid'=>$openid);
		$this -> ajaxReturn($arr);
		
	    //打印用户信息
	}
	function http_curl($url){
		//用curl传参
		$ch = curl_init();
	    curl_setopt($ch, CURLOPT_URL, $url);
	    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	
	    //关闭ssl验证
	    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
	
	
	    curl_setopt($ch,CURLOPT_HEADER, 0);
	    $output = curl_exec($ch);
	    curl_close($ch);
	    return json_decode($output, true);
	}
	    

我这里介绍的是前后端分离的方法,网上有很多都是后端实现,但目前基本都是前后端分离开发的所欲我记录下来供大家借鉴。

### 回答1: 在 PHP获取微信公众号用户信息的流程为: 1. 通过微信 OAuth2.0 获取用户授权。首先,需要在微信公众平台注册账号并获取 appID 和 appSecret。然后,需要向微信服务器请求获取用户授权,微信会返回一个授权码 code。 2. 使用授权码 code 和 appID 以及 appSecret 向微信服务器请求获取用户 access_token 。 3. 使用 access_token 和 openid 向微信服务器请求获取用户信息。 4. 对得到的用户信息进行处理。 获取用户信息需要用到微信公众平台的接口, 可以使用第三方类库简化操作 例如: EasyWechat 和 Overtrue/wechat 。 如果你还有问题,可以提供更多细节,我会尽量给你更多的帮助. ### 回答2: 要获取用户信息,可以通过微信公众平台提供的接口来实现。首先,需要在公众号开发者平台上注册一个开发者账号,并创建一个公众号。 接下来,需要在公众号后台配置好服务器信息,包括服务器地址、令牌和加密密钥,并将验证服务器的URL返回给微信服务器进行验证。 验证通过后,就可以使用微信公众平台提供的接口来获取用户信息了。可以通过用户授权方式获得用户的基本信息,包括用户的唯一标识openid用户的基本资料,如昵称头像等。 获取用户信息的接口主要有两个:一是snsapi_base,只能获取用户openid;二是snsapi_userinfo,可以获取用户的基本资料。 在使用接口前,需要先引入微信开放平台的SDK文件,并进行身份验证。然后,通过调用接口函数,传入相应的参数,即可获取用户信息获取用户信息后,可以将其保存到数据库中,用于后续的业务处理。在获取用户信息时,需要注意用户授权的范围,如果用户没有进行授权或授权失败,就无法获取用户信息。 在实际项目中,还可以根据不同的需求对用户信息进行处理,比如需要使用用户的地理位置信息,可以通过接口获取用户的地理位置等,以实现更多的功能。最后,使用获取到的用户信息进行个性化的推送或其他相关操作,增强用户体验。 总之,通过使用微信公众号提供的接口,可以轻松实现获取用户信息的功能,为开发者提供更多的可能性。 ### 回答3: 要使用PHP获取微信公众号用户信息,需要先通过微信开放平台的授权流程获取用户openid,然后再通过openid获取用户的详细信息。下面是具体步骤: 1. 注册微信开放平台账号并创建公众号,并获得APPID和APPSECRET。 2. 在前端页面中引入微信JS-SDK库,实现用户授权登录。 3. 在服务器端创建一个用于获取access_token的接口,包括appid和appsecret,并将access_token保存在session或数据库中。 4. 用户在前端点击授权登录后,跳转至微信授权页面,获取一个临时授权码code。 5. 通过临时授权码code,调用接口获取access_token和openid。接口请求地址为:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 其中,APPID为公众号的appid,SECRET为公众号的appsecret,CODE为临时授权码。 6. 将获取到的openid存储在session或数据库中,以便后续使用。 7. 通过openid,调用获取用户详细信息的接口。接口请求地址为:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 其中,ACCESS_TOKEN为之前获取到的access_token,OPENID用户openid。 8. 解析接口返回的用户详细信息,包括昵称头像等。 9. 将用户详细信息展示在前端页面或进行其他操作。 通过以上步骤,可以使用PHP获取微信公众号用户信息。注意保管好appid和appsecret,以及进行相应的安全验证,确保用户信息的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT阿剂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值