Après la mise à jour de la plateforme WeChat, j'ai trouvé que l'interface du service client était bonne. Faites des recherches et partagez-les avec tout le monde.
Selon la documentation officielle, envoyez simplement le JSon spécifié à l'interface du service client.
Encapsulez d'abord la classe JSON :
package com.lwz.wx.bean.kf; // 这个是最外层的 也可以说是基类吧、 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; } }
//这个类是继承基类、 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; } }
La structure ci-dessus correspond à
La prochaine étape est les données JSON La création de
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 下同 需要认证过的哦 String appSecret=""; // 调用接口获取access_token AccessToken at = WeixinUtil.getAccessToken(appId, appSecret); if (null != at) { // 调用接口发送消息 int result = WeixinUtil.Runkf( getkfnews(openid), at.getToken()); // 这个方法会在下面 展示 //int result = WeixinUtil.createMenu(getMenu(),"1832148947"); // 判断菜单创建结果 if (0 == result) log.info("调用客服信息发送成功!"); else log.info("客服调用失败,错误码:" + result); } }
private static BaseNews getkfnews(String openid) { articles art1=new articles(); art1.setDescription("1"); art1.setPicurl("http://www.baidu.com"); art1.setTitle("测试1"); art1.setUrl("http://www.baidu.com"); articles art2=new articles(); art2.setDescription("1"); art2.setPicurl("http://www.baidu.com"); art2.setTitle("测试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("文本内容"); 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; } } // 上面的有用到一个调用接口的方法如下: 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; // 拼装创建的url String url = kf_news_url.replace("ACCESS_TOKEN", token); // 将对象转换成json字符 String jsonnews = JSONObject.fromObject(getkfnews).toString(); //System.out.println(jsonMenu); // 调用接口创建 JSONObject jsonObject = httpRequest(url, "POST", jsonnews); if (null != jsonObject) { if (0 != jsonObject.getInt("errcode")) { result = jsonObject.getInt("errcode"); log.error("调用客服接口失败 errcode:{} errmsg:{}"); } } return result; }
est complet ici. Il y en aura peut-être davantage. D'autres textes et musiques sont aussi comme ça
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!