最新公告
  • 欢迎访问代码工坊,购买产品可享受在线工单服务!
  • 微信公众号内页面获取用户openid

      公众号想要获取code 必须先要用户打开了你的网页,你在菜单栏设置一个链接跳转,或用户通过扫码等途径进入页面,而链接如:

      https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=https://www.daimagongfang.com&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

      那么用户点开了这个链接就会跳到 redirect_uri 的路径,同时也会把code传递过去,页面进行get获取。

      获取code后,请求以下链接即可获取openid:

      https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

      微信开发文档 :https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

      相关代码如下:

        public function openid($code){
            $secret = "appsecret";
            $appid = "appid";
            $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$secret."&code=".$code."&grant_type=authorization_code";
    
            $ch = curl_init();
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            curl_setopt($ch,CURLOPT_TIMEOUT,30);
    
            $content = curl_exec($ch);
            $status = (int)curl_getinfo($ch,CURLINFO_HTTP_CODE);
            if ($status == 404) {
                return $status;
            }
            curl_close($ch);
            return json_decode($content,true);
        }
    
      以上是微信公众号内html页面获取openid的方法,微信小程序可以通过调用wx.login获取code后在后端获得openid,如果是微信小程序通过webview内嵌h5,也可以直接通过h5获取。

    发表评论