40018:檢查ACCESS_TOKEN,需要使用測試號里的appID appSECRET
40016:建議比較json字符串,一般是屬性值有誤。
第一步:根據需求建立相關的類
{
{
{ ] ] |
Button 類(button類的名稱可以隨便取,但是其它所有的類都是包含在,button類里面,所以這個時候button類需要一個集合),而且集合的屬性名一定要是button.
|-click類(需要有type\name\key屬性)
|-sub_button類(需要有name\sub_button屬性,而且sub_button還必須是個集合)
|-view 類(需要有type\name\url屬性)
|-miniprogram類(需要有type\name\url\appID\pagepath屬性)
|click類
public static void main(String[] args) { Button button = new Button(); button.getButton().add(new ClickBtn("菜單1", "10")); button.getButton().add(new ViewBtn("菜單2", "http://www.baidu.com"));
List<abstractBtn> subBtn = new ArrayList<>(); subBtn.add(new ClickBtn("子菜單1", "31")); subBtn.add(new ViewBtn("news2", "http://news.163.com")); subBtn.add(new PicPhotoOrAlbum("照片",null, "33"));
button.getButton().add(new SubBtn("菜單3", subBtn)); //裝配好之后就可以利用JSONObject進行轉換 JSONObject obj = JSONObject.fromObject(button); System.out.println(obj); String url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN"; url = url.replace("ACCESS_TOKEN", TokenService.getAccessToken()); //post請求url,返回ok,菜單就成功創建 String result = MyUtil.post(url, obj.toString()); System.out.println(result); } |
菜單創建成功后可以嘗試點擊相應按鈕,利用請求類型捕獲對應的訪問,並給與回復
同時,也可以接入3方接口,例如百度的圖片文字識別…