Heim  >  Artikel  >  WeChat-Applet  >  So erhalten Sie eine OpenID auf WeChat

So erhalten Sie eine OpenID auf WeChat

小云云
小云云Original
2018-03-19 13:23:285939Durchsuche

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)

Holen Sie sich die aktuelle Benutzer-OpenID und Vorsichtsmaßnahmen rechtzeitig von der WeChat-Webseite zur Entwicklung öffentlicher Konten

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn