1. 程式人生 > >微信公眾平臺jsapi開發教程(2)獲取timestamp,nonceStr,signature引數

微信公眾平臺jsapi開發教程(2)獲取timestamp,nonceStr,signature引數

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;
/***
 * @author V型知識庫  www.vxzsk.com
 *
 */
public class JsapiTicketUtil {
     
    /***
     * 模擬get請求
     * @param url
     * @param charset
     * @param timeout
     * @return
     */
     public static String sendGet(String url, String charset, int timeout)
      {
        String result = "";
        try
        {
          URL u = new URL(url);
          try
          {
            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)
            {
             
              result = result + line;
            }
            in.close();
          } catch (IOException e) {
            return result;
          }
        }
        catch (MalformedURLException e)
        {
          return result;
        }
       
        return result;
      }
     /***
      * 獲取acess_token 
      * 來源www.vxzsk.com
      * @return
      */
     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.vxzsk.com
      * @return
      */
    public static String getJSApiTicket(){ 
        //獲取token
        String acess_token= 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");  
        return  ticket;  
           
    }  
     
    public static void main(String[] args) {
        String jsapiTicket = JsapiTicketUtil.getJSApiTicket();
        System.out.println("呼叫微信jsapi的憑證票為:"+jsapiTicket);
 
    }
 
}

讀者可直接把程式碼複製到myeclipse或者Eclipse中執行main方法即可,但是在這裡提示讀者JsapiTicketUtil中獲取acces_token方法中需要讀者自行填寫自己的appid和appsecret。