最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)微信公眾平臺自定義菜單的創(chuàng)建示例

 更新時間:2014年04月01日 15:11:27   作者:  
這篇文章主要介紹了java實現(xiàn)微信公眾平臺自定義菜單的創(chuàng)建示例,需要的朋友可以參考下

復制代碼 代碼如下:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import org.json.JSONObject;

public class MenuUtil {

 /**
  * 獲得ACCESS_TOKEN
 * @Title: getAccess_token
 * @Description: 獲得ACCESS_TOKEN
 * @param @return    設定文件
 * @return String    返回類型
 * @throws
  */
 private static String getAccess_token(){ 

  String APPID="";
  String APPSECRET="";

       String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ APPID + "&secret=" +APPSECRET;
       String accessToken = null;
      try {
             URL urlGet = new URL(url);
             HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();   

             http.setRequestMethod("GET");      //必須是get方式請求   
             http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");   
             http.setDoOutput(true);       
             http.setDoInput(true);
             System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//連接超時30秒
             System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //讀取超時30秒

             http.connect();

             InputStream is =http.getInputStream();
             int size =is.available();
             byte[] jsonBytes =new byte[size];
             is.read(jsonBytes);
             String message=new String(jsonBytes,"UTF-8");

             JSONObject demoJson = new JSONObject(message);
             accessToken = demoJson.getString("access_token");

             System.out.println(message);
             } catch (Exception e) {
                 e.printStackTrace();
             }
        return accessToken;
     }

 /**
  * 創(chuàng)建Menu
 * @Title: createMenu
 * @Description: 創(chuàng)建Menu
 * @param @return
 * @param @throws IOException    設定文件
 * @return int    返回類型
 * @throws
  */
    public static String createMenu() {
      String menu = "{\"button\":[{\"type\":\"click\",\"name\":\"MENU01\",\"key\":\"1\"},{\"type\":\"click\",\"name\":\"天氣查詢\",\"key\":\"西安\"},{\"name\":\"日常工作\",\"sub_button\":[{\"type\":\"click\",\"name\":\"待辦工單\",\"key\":\"01_WAITING\"},{\"type\":\"click\",\"name\":\"已辦工單\",\"key\":\"02_FINISH\"},{\"type\":\"click\",\"name\":\"我的工單\",\"key\":\"03_MYJOB\"},{\"type\":\"click\",\"name\":\"公告消息箱\",\"key\":\"04_MESSAGEBOX\"},{\"type\":\"click\",\"name\":\"簽到\",\"key\":\"05_SIGN\"}]}]}";

        //此處改為自己想要的結構體,替換即可
        String access_token= getAccess_token();

        String action = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token="+access_token;
        try {
           URL url = new URL(action);
           HttpURLConnection http =   (HttpURLConnection) url.openConnection();   

           http.setRequestMethod("POST");       
           http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");   
           http.setDoOutput(true);       
           http.setDoInput(true);
           System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//連接超時30秒
           System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //讀取超時30秒

           http.connect();
           OutputStream os= http.getOutputStream();   
           os.write(menu.getBytes("UTF-8"));//傳入參數(shù)   
           os.flush();
           os.close();

           InputStream is =http.getInputStream();
           int size =is.available();
           byte[] jsonBytes =new byte[size];
           is.read(jsonBytes);
           String message=new String(jsonBytes,"UTF-8");
           return "返回信息"+message;
           } catch (MalformedURLException e) {
               e.printStackTrace();
           } catch (IOException e) {
               e.printStackTrace();
           }   
        return "createMenu 失敗";
   }

    /**
     * 刪除當前Menu
    * @Title: deleteMenu
    * @Description: 刪除當前Menu
    * @param @return    設定文件
    * @return String    返回類型
    * @throws
     */
   public static String deleteMenu()
   {
       String access_token= getAccess_token();
       String action = "https://api.weixin.qq.com/cgi-bin/menu/delete? access_token="+access_token;
       try {
          URL url = new URL(action);
          HttpURLConnection http =   (HttpURLConnection) url.openConnection();   

          http.setRequestMethod("GET");       
          http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");   
          http.setDoOutput(true);       
          http.setDoInput(true);
          System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//連接超時30秒
          System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //讀取超時30秒

          http.connect();
          OutputStream os= http.getOutputStream();   
          os.flush();
          os.close();

          InputStream is =http.getInputStream();
          int size =is.available();
          byte[] jsonBytes =new byte[size];
          is.read(jsonBytes);
          String message=new String(jsonBytes,"UTF-8");
          return "deleteMenu返回信息:"+message;
          } catch (MalformedURLException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }
       return "deleteMenu 失敗";  
   }
 public static void main(String[] args) {

  System.out.println(createMenu());
 }
}

相關文章

  • RabbitMQ消息單獨與批量的TTL詳細介紹

    RabbitMQ消息單獨與批量的TTL詳細介紹

    這篇文章主要介紹了RabbitMQ消息單獨與批量的TTL,TTL全名是Time To Live存活時間,表示當消息由生產端存入MQ當中的存活時間,當時間到達的時候還未被消息就會被自動清除,感興趣的同學可以參考下文
    2023-05-05
  • Java中向文件寫入數(shù)據(jù)的幾種常見方式分享

    Java中向文件寫入數(shù)據(jù)的幾種常見方式分享

    在日常開發(fā)中,肯定離不開要和文件打交道,今天就簡單羅列一下平時比較常用的創(chuàng)建文件并向文件中寫入數(shù)據(jù)的幾種方式,文中有詳細的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2023-10-10
  • 深入解析JVM之內存結構及字符串常量池(推薦)

    深入解析JVM之內存結構及字符串常量池(推薦)

    Java作為一種平臺無關性的語言,其主要依靠于Java虛擬機——JVM,接下來通過本文給大家介紹JVM之內存結構及字符串常量池的相關知識,需要的朋友可以參考下
    2020-07-07
  • Java實現(xiàn)簡單推箱子游戲

    Java實現(xiàn)簡單推箱子游戲

    這篇文章主要為大家詳細介紹了Java實現(xiàn)推箱子游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 對象存儲服務MinIO快速入門(集成項目的詳細過程)

    對象存儲服務MinIO快速入門(集成項目的詳細過程)

    MinIO是一個開源的對象存儲服務,支持多種操作系統(tǒng),配置簡單且性能高,它使用糾刪碼進行數(shù)據(jù)保護,可以容忍硬件故障,MinIO支持多種語言的SDK和豐富的API,本文介紹對象存儲服務MinIO快速入門,感興趣的朋友一起看看吧
    2025-03-03
  • SpringBoot Application事件監(jiān)聽的實現(xiàn)方案

    SpringBoot Application事件監(jiān)聽的實現(xiàn)方案

    這篇文章主要介紹了SpringBoot Application事件監(jiān)聽的實現(xiàn)方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Springboot在有鎖的情況下正確使用事務的實現(xiàn)代碼

    Springboot在有鎖的情況下正確使用事務的實現(xiàn)代碼

    這篇文章主要介紹了Springboot在有鎖的情況下如何正確使用事務,今天通過一個實驗給大家分析一下商品超賣問題,模擬場景分析通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • Java 基礎之內部類詳解及實例

    Java 基礎之內部類詳解及實例

    這篇文章主要介紹了 Java 基礎之內部類詳解及實例的相關資料,需要的朋友可以參考下
    2017-03-03
  • spring boot實現(xiàn)過濾器和攔截器demo

    spring boot實現(xiàn)過濾器和攔截器demo

    本篇文章主要介紹了spring boot實現(xiàn)過濾器和攔截器demo ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • spring boot測試打包部署的方法

    spring boot測試打包部署的方法

    spring boot項目如何測試,如何部署,在生產中有什么好的部署方案嗎?這篇文章就來介紹一下spring boot 如何開發(fā)、調試、打包到最后的投產上線,感興趣的朋友一起看看吧
    2018-01-01

最新評論

开阳县| 青龙| 樟树市| 湛江市| 尚义县| 威海市| 铜梁县| 海伦市| 钦州市| 汨罗市| 肇州县| 秦皇岛市| 洛隆县| 九江市| 汉源县| 子长县| 贵定县| 长阳| 平定县| 普格县| 宁河县| 黔江区| 彩票| 岳普湖县| 永川市| 休宁县| 罗田县| 塔城市| 安徽省| 大姚县| 元江| 江西省| 凯里市| 泸水县| 凌源市| 兖州市| 白河县| 德令哈市| 桦南县| 沙坪坝区| 大理市|