我們在看微信jsapi開發文件發現,想要使用微信jsapi不僅要綁定已備案的域名,而且還需要一大堆介面注入權限驗證。本人覺得有點麻煩,但是也沒辦法,誰讓微信這麼火爆呢。
透過config介面注入權限驗證配置
所有需要使用JS-SDK的頁面必須先註入設定訊息,否則將無法呼叫(同一個url只需呼叫一次,對於變化url的SPA的web app可在每次url變化時進行呼叫,目前Android微信客戶端不支援pushState的H5新特性,所以使用pushState來實現web app的頁面會導致簽章失敗,此問題會在Android6.2中修復)。
上面就是微信官方文件的說明,本來要高高興興的去接入微信開發,這下傻眼了,特別是初學者完全蒙了,接下來我們看看微信官方文件給的程式碼範例:
#wx.config({ debug : true, // 開啟調試模式,調用的所有api的回傳值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數資訊會透過log打出,僅在pc端時才會列印。 : '', // 必填,產生簽章的隨機串 signature: '',// 必填,簽章,請參閱附錄1 jsApiList: [ // # jsApiList: [需要使用的JS介面列表,所有JS介面列表見附錄2}); #timestamp,nonceStr,signature,尼瑪這三個參數什麼鬼,appid尚可知道,這三個參數好吧,讓我們看附錄1,那就看附錄1吧,請看下面微信官方文檔的附錄1說明 |
##package com.test.util;import java.io.BufferedReader;import java.io.IOException; 導入java.io.InputStreamReader;導入java.net.MalformedURLException;導入java.net.URL; ##導入java.net.URLConnection; import net.sf.json.JSONObject; import com.test.weixin.TestAcessToken; public class JsapiTicketUtil { /*** * 模擬get請求 * @param url * @param */ public static String sendGet(String url, String charset, int timeout) 嘗試 { URL u = new URL(url); ## URLConnection conn = u.openConnection() ; conn.connect(); con new BufferedReader(new InputStreamReader(conn.getInputStream(), charset)) ; String line=""; . { 結果 = 結果+ line ; } in.close();#1 返回結果; # } } catch (MalformedURLException e) } 以回復結果為; } /*** * 取得acess_token */ public static String getAccessToken( String## public static String get應用id";//應用ID String appSecret="在對在公眾/api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+appSecret+""; ", 10000); String accessToken = (String) JSONObject.fromObject(backData).get("access_token"); return accessToken; } / www.vxzsk.com * @return */ public static String getJSApiTicket( String acess_token= JsapiTicketUtil.getAccessToken( ); String urlStr = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+acess_token+"&type=jsapi backData=TestAcessToken.sendGet(urlStr, "utf-8", 10000); String ticket return ticket; } # public static void main(String[] args) { ### System.out .println("調用微信jsapi的憑證票為:"+jsapiTicket); # } } } |
#}
#####################################################################號上面的程式碼直接複製到Eclipse或是myeclipse中只想main方法即可,但這裡有個梗? ######第58行到65行這段程式碼是取得access_token的方法,因為要取得ticket需要這個參數,但是這裡有兩個參數需要讀者填寫,一個是appid,另一個是appSecret,程式碼的註釋已經說得很明白了,我在這裡就不在累述。 ###以上是詳解微信jsapi開發如何取得jsapi_ticket的詳細內容。更多資訊請關注PHP中文網其他相關文章!