この記事では主に、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 サイトの他の関連記事を参照してください。