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; }署名アルゴリズム、 URL のキーと値のペアの形式を使用します (つまり、key1=value1&key2=value2) ... ) 文字列 string1 に結合します: sha1 で string1 に署名し、署名を取得します: 注: 1。署名に使用される noncestr とタイムスタンプは、wx.config の nonceStr とタイムスタンプと同じである必要があります。 2. 署名に使用される URL は、JS インターフェースを呼び出すページの完全な URL である必要があります。 3. セキュリティ上の理由から、開発者はサーバー側に署名ロジックを実装する必要があります。
以上がjsapi_ticket を取得するための WeChat 開発のチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。