Nous avons examiné la documentation de développement de WeChat jsapi et avons constaté que si vous souhaitez utiliser WeChat jsapi, vous devez non seulement lier un nom de domaine enregistré, mais également effectuer de nombreuses vérifications des autorisations d'injection d'interface. Je trouve cela un peu gênant, mais je ne peux rien y faire. Qui rend WeChat si populaire ?
Injecter la configuration de vérification des autorisations via l'interface de configuration
Toutes les pages qui doivent utiliser JS-SDK doivent d'abord injecter des informations de configuration, sinon elles ne seront pas appelées (la même URL doit seulement être appelée une fois, pour modifier l'URL. L'application Web SPA peut être appelée à chaque fois que l'URL change. Actuellement, le client Android WeChat ne prend pas en charge la nouvelle fonctionnalité H5 de pushState. Par conséquent, l'utilisation de pushState pour implémenter la page de l'application Web entraînera l'échec de la signature. . Ce problème sera résolu dans Android 6.2).
Ce qui précède est la description du document officiel de WeChat. Au départ, j'allais accéder avec plaisir au développement de WeChat, mais maintenant je suis abasourdi, surtout les débutants qui sont complètement confus. Ensuite, jetons un œil au code. donné par le document officiel de WeChat Exemple :
|
package com.test.util; import java.io.BufferedReader; import java.io.IOException; importer java.io.InputStreamReader ; importer java.net.MalformedURLException; importer java.net.URL; importer java.net.URLConnection ; import net.sf.json.JSONObject; import com.test.weixin.TestAcessToken; classe publique JsapiTicketUtil { /*** * Simuler la demande d'obtention * @param url * @param charset * @param timeout * @return */ public static String sendGet(String url, String charset, int timeout) { String result = ""; essayer { URL u = new URL(url); essayer { URL Connexion conn = u.openConnection() ; conn.connect(); conn.setConnectTimeout(timeout); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStr eam(), jeu de caractères)) ; String line=""; while ((line = in.readLine()) != null) { résultat = résultat + line; } in.close(); catch (IOException e) { return result; } } catch (MalformedURLException e) { retourner le résultat ; } retourner le résultat ; } /*** * Obtenez un access_token */ public static String getAccessToken(){ String appid="你公众号基本设置里的应用id";//应用ID String appSecret="你公众号基本设置里的应用密钥";//(应用密钥) String url ="https ://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+appSecret+""; String backData=TestAcessToken.sendGet(url, "utf -8", 10000); String accessToken = (String) JSONObject.fromObject(backData).get("access_token"); retourner accessToken ; } /*** * 获取jsapiTicket * 来源 www .vxzsk.com* @return */ public static String getJSApiTicket(){ //Obtenir le jeton String access_to ken= JsapiTicketUtil.getAccessToken ( ); String urlStr = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+acess_token+"&type=jsapi" String backData=TestAcessToken.sendGet(urlStr, "utf-8", 10000); String ticket = (String) JSONObject.fromObject(backData).get("ticket"); billet aller-retour ; } public static void main(String[] args) { String jsapiTicket = JsapiTicketUtil.getJSApiTicket(); Système. out .println("Le ticket pour appeler WeChat jsapi est : "+jsapiTicket); Le code ci-dessus peut être directement copié sur Eclipse ou myeclipse et seule la méthode principale est requise, mais il y a une astuce ici ? Le code des lignes 58 à 65 est la méthode pour obtenir access_token, car ce paramètre est obligatoire pour obtenir le ticket, mais il y a deux paramètres qui doivent être renseignés par le lecteur, l'un est appid, le l'autre est appSecret, le code Les commentaires ont déjà été très clairs, je ne les répéterai donc pas ici. |
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!