ホームページ  >  記事  >  WeChat アプレット  >  WeChatでopenidを取得する方法

WeChatでopenidを取得する方法

小云云
小云云オリジナル
2018-03-19 13:23:285952ブラウズ

この記事では主に、WeChat で openid を取得する方法について説明します。まず、ユーザー認証が必要な場合は、ユーザーを認証ページに誘導する必要があることを明確にする必要があります。

1. リンクが必要です

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

手順:

APPID はWeChat 公式アカウント ID は wx

で始まり、認証の入り口です。これは通常、WeChat 公式アカウントが指すメイン ドメイン名の下にあります: http://www.xxoo.com/home/index。 / test

エスケープに注意してください。URI=http%3A%2F%2Fwww.xxoo.com%2Fhome%2Findex%2Ftest

2。このリンクは、他の人がスキャンできるように QR コードを生成できます。たとえば、次のリンクに移動します。この Web サイト: https:/ /cli.im/

上で置き換えたリンクを入力して生成します。

3. 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);
    }

このようにして、openid を取得することで各 WeChat ユーザーを識別できます。

関連する推奨事項:

WeChat アプレットを通じて openid とユーザー情報を取得する方法

WeChat アプレットを通じて session_key と openid を取得するケーススタディ (写真)

現在のユーザーの Openid をタイムリーに取得しますWeChat パブリック アカウント開発 Web ページと注意事項

以上がWeChatでopenidを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。