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


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 相关文章推荐
一个简单的瀑布流效果(主体形式自写)
May 27 Javascript
JS运动基础框架实例分析
Mar 03 Javascript
一看就懂:jsonp详解
Jun 01 Javascript
jQuery实现checkbox全选的方法
Jun 10 Javascript
Javascript实现鼠标右键特色菜单
Aug 04 Javascript
浅谈JavaScript中数组的增删改查
Jun 20 Javascript
canvas学习之API整理笔记(二)
Dec 29 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
Oct 24 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
Jan 16 Javascript
微信运维交互机器人的示例代码
Nov 12 Javascript
使用 Vue 实现一个虚拟列表的方法
Aug 20 Javascript
vue把输入框的内容添加到页面的实例讲解
Nov 11 Javascript
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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
php 信息采集程序代码
2009/03/17 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
php递归函数怎么用才有效
2018/02/24 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
js 页面元素的几个用法总结
2013/11/18 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
详解vue中组件参数
2018/07/09 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python异常处理知识点总结
2019/02/18 Python
详解python算法之冒泡排序
2019/03/05 Python
浅析Python3 pip换源问题
2020/01/06 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
python 如何将office文件转换为PDF
2020/09/22 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
2014年母亲节演讲稿范文
2014/05/07 职场文书
励志演讲稿500字
2014/08/21 职场文书
精神病医院见习报告
2014/11/03 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
安全教育培训心得体会
2016/01/15 职场文书
入党转正申请书范文
2019/05/20 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js