微信公众号 客服接口的开发实例详解


Posted in Javascript onSeptember 28, 2016

微信平台更新之后,发现客服接口不错。研究了下 和大家分享下。

按照官方文档,是向客服接口发送规定的JSon 就可以了。

首先先封装下 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;
}

}

以上的结构就对应

接下来就是对JSON 的数据的创建了

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;

}

到这里就完成了。可能会比较多。其他的文本的 音乐的 也都是这样的

希望能帮助大家学习参考此部分内容,谢谢大家对本站的支持!

Javascript 相关文章推荐
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
Aug 10 Javascript
运用jQuery定时器的原理实现banner图片切换
Oct 22 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
Javascript基础教程之函数对象和属性
Jan 18 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
聊聊JavaScript如何实现继承及特点
Apr 07 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
May 02 Javascript
100行代码实现一个vue分页组功能
Nov 06 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
如何将百度地图包装成Vue的组件的方法步骤
Feb 12 Javascript
vue-element-admin项目导入和导出的实现
May 21 Vue.js
jQuery解析XML 详解及方法总结
Sep 28 #Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
Sep 28 #Javascript
微信小程序 实例应用(记账)详解
Sep 28 #Javascript
JavaScript 闭包详细介绍
Sep 28 #Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
Sep 28 #Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 #Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 #Javascript
You might like
mysql 搜索之简单应用
2007/04/27 PHP
php 获取本地IP代码
2013/06/23 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
毕业生求职推荐信
2013/11/04 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
职业生涯规划设计步骤
2014/01/12 职场文书
元旦晚会主持词
2014/03/24 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
创业女性典型材料
2014/05/02 职场文书
大学生见习报告总结
2014/11/04 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python