Heim > Artikel > WeChat-Applet > So erhalten Sie eine OpenID auf WeChat
In diesem Artikel erfahren Sie hauptsächlich, wie Sie OpenID auf WeChat erhalten. Zunächst muss klar sein, dass Sie den Benutzer zu Ihrer Autorisierungsseite führen müssen, wenn Sie eine Benutzerautorisierung wünschen.
1. Sie müssen einen Link haben
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=URI&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
Hinweis:
APPID ist Ihre offizielle WeChat-Konto-ID, beginnend mit wx
URI ist Ihr Autorisierungseingang, normalerweise unter dem Hauptdomänennamen, auf den das offizielle WeChat-Konto verweist . Ich habe es hier abgelegt: http://www.xxoo.com/home/index/test
Achten Sie auf das Escapezeichen, also URI=http%3A%2F%2Fwww.xxoo.com%2Fhome%2Findex % 2Ftest
2. Dieser Link kann einen QR-Code generieren, den andere scannen können. Gehen Sie beispielsweise zu dieser Website: https://cli.im/
Füllen Sie den ersetzten Link oben aus und generieren können.
3. Holen Sie sich den OpenID-Code
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); }
Auf diese Weise kann jeder WeChat-Benutzer durch den Erhalt der OpenID identifiziert werden.
Verwandte Empfehlungen:
So erhalten Sie OpenID- und Benutzerinformationen über das WeChat-Applet
Ein Fall des Abrufens von session_key und OpenID über das WeChat-Applet (Bild)
Das obige ist der detaillierte Inhalt vonSo erhalten Sie eine OpenID auf WeChat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!