微信平臺(tái)更新之后,發(fā)現(xiàn)客服接口不錯(cuò)。研究了下 和大家分享下。
按照官方文檔,是向客服接口發(fā)送規(guī)定的JSon 就可以了。
首先先封裝下 JSon 的類(lèi):
package com.lwz.wx.bean.kf;// 這個(gè)是最外層的 也可以說(shuō)是基類(lèi)吧、public class Basebean {private String touser;private String msgtype;public String getTouser() {return touser;}public void setTouser(String touser) {this.touser = touser;}public String getMsgtype() {return msgtype;}public void setMsgtype(String msgtype) {this.msgtype = msgtype;} }
//這個(gè)類(lèi)是繼承基類(lèi)、package com.lwz.wx.bean.kf;public class BaseNews extends Basebean{ private Kfnews news;public Kfnews getNews() {return news;}public void setNews(Kfnews news) {this.news = news;}}//
package com.lwz.wx.bean.kf;import java.util.List;public class Kfnews {private List<articles> articles;public List<articles> getArticles() {return articles;}public void setArticles(List<articles> articles) {this.articles = articles;}}//
package com.lwz.wx.bean.kf;public class articles {private String title; private String description; private String url; private String picurl;public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getPicurl() {return picurl;}public void setPicurl(String picurl) {this.picurl = picurl;}}
以上的結(jié)構(gòu)就對(duì)應(yīng)
接下來(lái)就是對(duì)JSON 的數(shù)據(jù)的創(chuàng)建了
package com.lwz.wx.main;import java.util.ArrayList;import java.util.List;import org.apache.log4j.Logger;import net.sf.json.JSONObject;import com.lwz.wx.bean.AccessToken;import com.lwz.wx.bean.Articles;import com.lwz.wx.bean.kf.BaseNews;import com.lwz.wx.bean.kf.BaseText;import com.lwz.wx.bean.kf.Basebean;import com.lwz.wx.bean.kf.Kfnews;import com.lwz.wx.bean.kf.articles;import com.lwz.wx.bean.kf.text;import com.lwz.wx.util.WeixinUtil;public class KfManager {private final static Logger log = Logger.getLogger(Basebean.class); public static void Gotokf(String openid){ String appId =""; //填上自己的APPID 下同 需要認(rèn)證過(guò)的哦String appSecret="";// 調(diào)用接口獲取access_tokenAccessToken at = WeixinUtil.getAccessToken(appId, appSecret);if (null != at) {// 調(diào)用接口發(fā)送消息int result = WeixinUtil.Runkf( getkfnews(openid), at.getToken()); // 這個(gè)方法會(huì)在下面 展示//int result = WeixinUtil.createMenu(getMenu(),"1832148947");// 判斷菜單創(chuàng)建結(jié)果if (0 == result)log.info("調(diào)用客服信息發(fā)送成功!");elselog.info("客服調(diào)用失敗,錯(cuò)誤碼:" + result);} }
private static BaseNews getkfnews(String openid) {articles art1=new articles();art1.setDescription("1");art1.setPicurl("http://www.baidu.com");art1.setTitle("測(cè)試1");art1.setUrl("http://www.baidu.com");articles art2=new articles();art2.setDescription("1");art2.setPicurl("http://www.baidu.com");art2.setTitle("測(cè)試1");art2.setUrl("http://www.baidu.com");List<articles> list = new ArrayList<articles>();Kfnews news=new Kfnews();list.add(art1);list.add(art2);news.setArticles(list);BaseNews kfbean=new BaseNews();kfbean.setMsgtype("news");kfbean.setTouser(openid);kfbean.setNews(news);String jsonkfbean = JSONObject.fromObject(kfbean).toString();System.out.println(jsonkfbean);return kfbean;}private static BaseText getkftext(String openid) { text text=new text();text.setContent("文本內(nèi)容");BaseText textbean=new BaseText();textbean.setMsgtype("text");textbean.setTouser(openid);textbean.setText(text);String jsonkfbean = JSONObject.fromObject(textbean).toString();System.out.println(jsonkfbean);return textbean;}} // 上面的有用到一個(gè)調(diào)用接口的方法如下:public static String kf_news_url= "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN";public static int Runkf(Basebean getkfnews, String token) {int result = 0;// 拼裝創(chuàng)建的urlString url = kf_news_url.replace("ACCESS_TOKEN", token);// 將對(duì)象轉(zhuǎn)換成json字符String jsonnews = JSONObject.fromObject(getkfnews).toString();//System.out.println(jsonMenu);// 調(diào)用接口創(chuàng)建JSONObject jsonObject = httpRequest(url, "POST", jsonnews);if (null != jsonObject) {if (0 != jsonObject.getInt("errcode")) {result = jsonObject.getInt("errcode");log.error("調(diào)用客服接口失敗 errcode:{} errmsg:{}");}}return result;}
到這里就完成了??赡軙?huì)比較多。其他的文本的 音樂(lè)的 也都是這樣的
希望能幫助大家學(xué)習(xí)參考此部分內(nèi)容,謝謝大家對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注