Heim >WeChat-Applet >WeChat-Entwicklung >Detaillierte Erklärung, wie Sie jsapi_ticket in der WeChat-Jsapi-Entwicklung erhalten
Wir haben uns die WeChat-jsapi-Entwicklungsdokumentation angesehen und festgestellt, dass Sie, wenn Sie WeChat-jsapi verwenden möchten, nicht nur einen registrierten Domänennamen binden müssen, sondern auch eine umfangreiche Überprüfung der Schnittstelleninjektionsberechtigungen benötigen. Ich finde es etwas mühsam, aber ich kann nichts dagegen tun. Wer macht WeChat so beliebt?
Injizieren Sie die Berechtigungsüberprüfungskonfiguration über die Konfigurationsschnittstelle.
Alle Seiten, die JS-SDK verwenden müssen, müssen zuerst Konfigurationsinformationen einfügen, andernfalls werden sie nicht aufgerufen (es muss nur dieselbe URL aufgerufen werden). einmalig, um die URL zu ändern. Die SPA-Web-App kann jedes Mal aufgerufen werden, wenn sich die URL ändert. Derzeit unterstützt der Android WeChat-Client die neue H5-Funktion von pushState nicht, sodass die Signatur bei Verwendung von pushState zum Implementieren der Web-App-Seite fehlschlägt . Dieses Problem wird in Android 6.2 behoben.
Das Obige ist die Beschreibung des offiziellen WeChat-Dokuments. Ich wollte mich ursprünglich gerne mit der WeChat-Entwicklung verbinden, aber jetzt bin ich sprachlos, insbesondere die Anfänger, die völlig verwirrt sind Code aus dem offiziellen WeChat-Dokument. Beispiel:
|
package com.test.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import net.sf.json.JSONObject; import com.test.weixin.TestAcessToken; public class JsapiTicketUtil { /*** * Get-Anfrage simulieren * @param url * @param charset * @param timeout * @return */ public static String sendGet(String url, String charset, int timeout) { String result = ""; Versuchen Sie es { URL u = neue URL(URL); versuchen Sie es { URLConnection conn = u.openConnection() ; conn.connect(); conn.setConnectTimeout(timeout); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream (), charset)) ; String line=""; while ((line = in.readLine()) != null) { Ergebnis = Ergebnis + line; 🎜> } } catch (MalformedURLException e) { return result; } Rückgabeergebnis ; } /*** * Access_token abrufen */ 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"); return accessToken; } /*** * 获取jsapiTicket * 来源 www.vx zsk.com* @return */ public static String getJSApiTicket(){ //Token abrufen 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"); Rückflugticket; } public static void main(String[] args) { String jsapiTicket = JsapiTicketUtil.getJSApiTicket(); System. out .println("Das Ticket zum Aufrufen von WeChat jsapi lautet: "+jsapiTicket); Der obige Code kann direkt nach Eclipse oder Myeclipse kopiert werden und es ist nur die Hauptmethode erforderlich, aber gibt es hier einen Trick? Dieser Code aus den Zeilen 58 bis 65 ist die Methode zum Abrufen von access_token, da dieser Parameter zum Erhalten des Tickets benötigt wird, aber es gibt zwei Parameter, die vom Leser ausgefüllt werden müssen, einer ist appid, der Das andere ist appSecret, der Code. Die Kommentare haben es bereits sehr deutlich gemacht, daher werde ich es hier nicht wiederholen. |
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Sie jsapi_ticket in der WeChat-Jsapi-Entwicklung erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!