当前位置:   article > 正文

微信小程序获取openid_发送 res.code 到后台换取 openid, sessionkey, unionid

发送 res.code 到后台换取 openid, sessionkey, unionid

微信开发JS代码

  1. wx.login({
  2. success: res => {
  3. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  4. var that =this;
  5. wx.request({
  6. url:that.globalData.url+'/api.openid/getOpenid',
  7. method:"post",
  8. data:{code:res.code},
  9. success:res=>{
  10. console.log(res.data);
  11. }
  12. })
  13. }
  14. })

下面是服务器端口的代码

  1. protected $appid = "1";
  2. protected $secret = "2";
  3. protected $grant_type = "authorization_code";
  4. public function getOpenid(){
  5. $res = request()->param();
  6. $url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' . $this->appid . '&secret=' . $this->secret . '&js_code=' . $res['code'] . '&grant_type=' . $this->grant_type;
  7. $result=$this->http_curl_get($url);
  8. //数据就这这里了[2023-05-16T12:00:07+08:00][info] {"session_key":"R+WxJUIZclFujKdbIkpr6w==","openid":"oSvY85S3DdIx2JfX-aEg_ffmkjDw"}
  9. }
  10. public function http_curl_get($url,$type=1) {
  11. $curl = curl_init();
  12. curl_setopt($curl,CURLOPT_TIMEOUT,5000);
  13. curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
  14. curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
  15. curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
  16. curl_setopt($curl,CURLOPT_URL,$url);
  17. if($type == 1){
  18. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  19. }
  20. $res = curl_exec($curl);
  21. if($res){
  22. curl_close($curl);
  23. return json_decode($res,true);
  24. }else {
  25. $error = curl_errno($curl);
  26. curl_close($curl);
  27. return $error;
  28. }
  29. }

如果出现报错:

 {"errcode":40029,"errmsg":"invalid code, rid: 6462ff8e-7f84dae1-58556329"}

检查3个步骤:

1:检查小程序内部设置请求域名是否填写

2:检查appid、AppSecret等参数密码是否正确

3:再调试微信里检查自己的APPid 是否和请求appid一致

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/757933
推荐阅读
相关标签
  

闽ICP备14008679号