微信小程序获取openid

大体逻辑:

1.需要在微信小程序中获取code

2.再通过code调用接口获取openid

 

实现步骤:

1.    app.js

wx.login({
      success: res => {
        console.log('res',res);

        //res.code 为获取的code

        //将code发送给你自己的服务器接口
        wx.request({
          url:yourserver.php,
          data:{
            code:res.code
          },
          success:function(data){
            
            wx.setStorageSync('openid', data.data.openid)
            wx.setStorageSync('session_key', data.data.session_key)

          }
        })

        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })

2.php端 

        $code=$_GET['code'];//取code
		
		$appid = ''; // 小程序APPID
		$secret = ''; // 小程序secret

        //调用微信接口,取得数据
		$url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' . $appid . '&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code';
		
        //方法1:curl请求方法
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($curl, CURLOPT_TIMEOUT, 500);
		// 为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
		curl_setopt($curl, CURLOPT_URL, $url);
		$res = curl_exec($curl);
		curl_close($curl);


        //方法2:get请求方法
        $stream_opts = [
			"ssl" => [
				"verify_peer"=>false,
				"verify_peer_name"=>false,
			]
		];  		
		$res = file_get_contents($url,false,stream_context_create($stream_opts));



		echo json_encode( json_decode($res, true)); // 这里是获取到的信息

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值