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)
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!