Maison  >  Article  >  Applet WeChat  >  Comment obtenir openid sur WeChat

Comment obtenir openid sur WeChat

小云云
小云云original
2018-03-19 13:23:285963parcourir

Cet article vous explique principalement comment obtenir openid sur WeChat. Tout d'abord, il doit être clair que si vous souhaitez une autorisation utilisateur, vous devez guider l'utilisateur vers votre page d'autorisation.

1. Vous devez avoir un lien

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

Remarque :

APPID est l'identifiant de votre compte officiel WeChat, commençant par wx

URI est votre entrée d'autorisation, généralement sous le nom de domaine principal indiqué par le compte officiel WeChat . Je l'ai mis ici : http://www.xxoo.com/home/index/test

Faites attention à vous échapper, donc URI=http%3A%2F%2Fwww.xxoo.com%2Fhome%2Findex % 2Ftest

2. Ce lien peut générer un code QR que d'autres peuvent scanner. Par exemple, allez sur ce site : https://cli.im/

Remplissez le lien remplacé ci-dessus. et le générer.

3. Obtenez le code openid

function test(){
        $code=$_GET['code'];
        //echo htmlspecialchars($code);exit;
        $appid='wx**********';  //APPID
        $appsecret='**************';  //APP密钥
        $url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
        $header [] = "content-type: application/json; charset=UTF-8";
        $ch = curl_init ();
        curl_setopt ( $ch, CURLOPT_URL, $url );
        //请求的方式是post
        curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "GET" );
        // 禁用后cURL将终止从服务端进行验证
        curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
        //不检查证书
        curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
        //发送头部字段
        curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );
        //告诉对方 自己的浏览器型号
        curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)' );
        //即表示自动进行跳转抓取(如果URL发生了302重定向)继续抓取
        curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
        //自动重定向开启
        curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 );
        //发送的post参数
        //curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param );
        //得到的结果不显示在屏幕上,作为变量结果储存
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
        $res = curl_exec ( $ch );
        //如果运行错误,返回一个错误号
        $flat = curl_errno ( $ch );
        if ($flat) {
            $data = curl_error ( $ch );
        }
        curl_close ( $ch );
        //拿到了返回结果后json格式转化为可以使用的数组格式
        $res = json_decode ( $res, true );
        //$access_token=$res['access_token'];
        $openid=$res['openid'];
        //跳转到抽奖页面
        header('Location: http://wx.xxoo.com/test/index/index/openid/'.$openid);
    }

De cette façon, chaque utilisateur de WeChat peut être identifié en obtenant l'openid.

Recommandations associées :

Comment obtenir des informations openid et utilisateur par applet WeChat

Un cas d'obtention de session_key et openid par applet WeChat (Photo)

Obtenez l'Openid de l'utilisateur actuel et les précautions à temps à partir de la page Web de développement du compte public WeChat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn