Maison >développement back-end >tutoriel php >Implémentation du code du jeton d'obtention php (WeChat)

Implémentation du code du jeton d'obtention php (WeChat)

不言
不言original
2018-08-20 15:31:275926parcourir

Le contenu de cet article concerne l'implémentation du code de l'acquisition de jetons PHP (WeChat). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Description de la demande d'appel de l'interface

https请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

Description du paramètre

参数 是否必须 说明
grant_type 获取access_token填写client_credential
appid 第三方用户唯一凭证
secret 第三方用户唯一凭证密钥,即appsecret

Description du retour

Dans des circonstances normales, WeChat renverra le paquet de données JSON suivant au compte public :

{"access_token":"ACCESS_TOKEN","expires_in":7200}

Description du paramètre

参数 说明
access_token 获取到的凭证
expires_in 凭证有效时间,单位:秒

Ce qui précède est le document access_token pour le compte public de WeChat. Ce chapitre explique brièvement comment obtenir le token en PHP et à quoi faire attention

1 Les paramètres préparés nécessitent l'appid et le secret du compte public. , et en même temps Notez qu'une fois le secret modifié, ce que vous enregistrez doit également être modifié, il n'est donc pas recommandé de le modifier, enregistrez-le simplement.

2. Vous devez créer une liste blanche, qui peut être obtenue en fonction de l'adresse IP du serveur. Si vous ne la connaissez vraiment pas, cela n'a pas d'importance, car vous pouvez connaître la vôtre. IP basée sur l'erreur signalée par l'interface WeChat, puis configurez-la.

3. Le nombre d'appels access_token par jour est valide si je me souviens bien, c'est 2K fois par jour, mais un token est valable 2 heures, il faut donc mettre en cache un token pendant 2 heures pour que il ne dépasse pas le nombre d'appels de l'interface.

<?php
    public function getAccessToken($appid,$secret){
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
        $res = $this->curl_get($url);
        $res = json_decode($res,1);
        if($res[&#39;errcode&#39;]!=0) throw new Exception($res[&#39;errmsg&#39;]);
        return $res[&#39;access_token&#39;];
    }
 public function curl_get($url) {
         $headers = array(&#39;User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36&#39;);
        $oCurl = curl_init();
        if(stripos($url,"https://")!==FALSE){
            curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
        }
        curl_setopt($oCurl, CURLOPT_TIMEOUT, 20);
        curl_setopt($oCurl, CURLOPT_URL, $url);
        curl_setopt($oCurl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
        $sContent = curl_exec($oCurl);
        $aStatus = curl_getinfo($oCurl);
        curl_close($oCurl);
        if(intval($aStatus["http_code"])==200){
            return $sContent;
        }else{
            return false;
        }
    }

Ce qui précède est le code permettant à php d'obtenir un jeton, ce qui est relativement simple.

Recommandations associées :

Applet WeChat Obtenez une explication détaillée et un exemple de code de WeChat OpenId

Code d'implémentation PHP pour obtenir le serveur informations

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn