jsapi_ticket を取得するための WeChat 開発のチュートリアルの例
1. 取得プロセス2. access_token を通じて jsapi_ticket を交換します3. 署名生成ルールは次のとおりです。署名には、noncestr (ランダムな文字列)、有効な jsapi_ticket、timestamp (タイムスタンプ)、url (現在の Web ページの URL、# とそれに続く部分を除く) が含まれます。署名されるすべてのパラメータをフィールド名の ASCII コードに従って小さいものから大きいもの (辞書順) に並べ替えた後、URL のキーと値のペアの形式 (つまり、key1=value1&key2=value2...) を使用してそれらを結合します。文字列 string1。ここで、パラメータ名はすべて小文字であることに注意してください。 string1 に対して sha1 暗号化を実行し、フィールド名とフィールド値には元の値を使用し、URL エスケープは実行しません。 2. 具体的な実装方法1. access_token/** * [getAccessToken description] 获取access_token * @return [type] [description] */private function getAccessToken() { $data = $this->getFile($this->accessTokenFile); if(time() - $data['time'] > 0){ $url = "{$this->appID}&secret={$this->appsecret}"; $re = $this->httpGet($url); $access_token = $re['access_token']; if(isset($access_token)){ $data['access_token'] = $access_token; $data['time'] = time() + 7200; $this->setFile($this->accessTokenFile,json_encode($data)); } }else{ $access_token = $data['access_token']; } return $access_token; }
access_tokenは、複数のリクエストを避けるためにファイルストレージに保存できます。
access_token を介して jsapi_ticket を取得します。有効期間も 7200 秒です。3. 署名を生成します/** * [getJsapiTicket description] 获取jsapi_ticket * @return [type] [description] */private function getJsapiTicket() { $access_token = $this->getAccessToken(); $jsapi_ticket = $this->getFile($this->jsapiTicketFile); if(time() - $jsapi_ticket['time'] > 0) { $url = "{$access_token}&type=jsapi"; $re = $this->httpGet($url); $this->preArr($re); $jsapi_ticket = $re['ticket']; if(isset($jsapi_ticket)){ $data['jsapi_ticket'] = $jsapi_ticket; $data['time'] = time() + 7200; $this->setFile($this->jsapiTicketFile, json_encode($data)); } }else{ $jsapi_ticket = $jsapi_ticket['jsapi_ticket']; } return $jsapi_ticket; }
以上がjsapi_ticket を取得するための WeChat 開発のチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。