1、微信开发文档说明

http://mp.weixin.qq.com/wiki/11/c88c270ae8935291626538f9c64bd123.html#.E5.AE.A2.E6.9C.8D.E6.8E.A5.E5.8F.A3-.E5.8F.91.E6.B6.88.E6.81.AF

2、接口url

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN

权限数量

3、主要代码

package com.kp.utils;import net.sf.json.JSONObject;import com.kp.enums.EnumMethod;/** * @author: py* @version:2016年12月18日 上午9:28:48 * com.kp.utils.SendMsgUtil.java* @Desc  主动发送消息给服务号用户,微信接口叫客服接口*/
public class SendMsgUtil {public static void sendMsg(String touser, String msg){String sUrl;try {sUrl = Constants.SEND_MSG_URL.replace("ACCESS_TOKEN", WechatAccessToken.getAccessToken(Constants.APPID, Constants.SECRET).getToken());String param = "{\"touser\":\"" + touser + "\",\"msgtype\":\"text\","+ "\"text\":"+ "{\"content\":\"" + msg + "\"}}";JSONObject jsonObject = HttpRequestUtil.httpRequest(sUrl, EnumMethod.POST.name(), param);boolean containsValue = jsonObject.containsKey("errcode");if(containsValue){String errcode = jsonObject.getString("errcode");System.err.println("SendMsgUtil|sendMsg|errcode:"+errcode);//errcode 为0表示成功//错误了就需要看返回码表了 http://mp.weixin.qq.com/wiki/10/6380dc743053a91c544ffd2b7c959166.html}} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {String touser="o9eTvwxiDw-M9QZb595+5565956pw";//用户openid 也就是fromUserNameString msg="哈哈哈";//内容SendMsgUtil.sendMsg(touser, msg);}}

4、获取token代码

package com.kp.utils;import com.kp.enums.EnumMethod;
import com.kp.pojo.AccessToken;
import com.kp.pojo.WXjsTicket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import net.sf.json.JSONException;
import net.sf.json.JSONObject;/*** 公众平台通用接口工具类* */
public class WechatAccessToken {/*** 获取access_token* * @param appid*            凭证* @param appsecret*            密钥* @return*/public static AccessToken getAccessToken(String appid, String appsecret) {AccessToken accessToken = null;String requestUrl = Constants.ACCESS_TOKEN_URL.replace("APPID", appid).replace("APPSECRET", appsecret);JSONObject jsonObject = HttpRequestUtil.httpRequest(requestUrl, EnumMethod.GET.name(), null);if(jsonObject==null){jsonObject = HttpRequestUtil.httpRequest(requestUrl, EnumMethod.GET.name(), null);}// 如果请求成功if (null != jsonObject) {try {accessToken = new AccessToken();accessToken.setToken(jsonObject.getString("access_token"));accessToken.setExpiresIn(jsonObject.getInt("expires_in"));} catch (JSONException e) {accessToken = null;// 获取token失败}}return accessToken;}private static Logger log = LoggerFactory.getLogger(WechatAccessToken.class);public static WXjsTicket getWXjsTicket(String accessToken) {WXjsTicket wXjsTicket = null;String requestUrl= Constants.JSAPI_URL.replace("ACCESS_TOKEN", accessToken);// 发起GET请求获取凭证JSONObject jsonObject = HttpRequestUtil.httpRequest(requestUrl, "GET", null);if (null != jsonObject) {try {wXjsTicket = new WXjsTicket();wXjsTicket.setJsTicket(jsonObject.getString("ticket"));wXjsTicket.setJsTicketExpiresIn(jsonObject.getInt("expires_in"));} catch (JSONException e) {wXjsTicket = null;// 获取wXjsTicket失败log.error("获取wXjsTicket失败 errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg"));}}return wXjsTicket;}}

查看返回码说明http://mp.weixin.qq.com/wiki/10/6380dc743053a91c544ffd2b7c959166.html

5、源码地址:http://download.csdn.net/detail/u014520797/9714496

微信服务号开发----发送消息相关推荐

  1. 【微信服务号开发】01.接入指南

    前言 当作为小白,来开发微信的时候,只依据官方文档来开发是很痛苦的,怎么配置,怎么编写代码文件,怎么让映射到外网访问,问题很多,比较痛苦. 下面内容来解决这些痛点,有不懂的问题,可以在下面留言评论哦. ...

  2. 微信服务号开发-获取用户位置信息

    微信服务号开发-获取用户位置信息 在微信公众号开发的中,获取用户位置信息是非常常见的功能需求,通过用户的位置信息,可以做一些地图导航,以及基于LBS的营销活动. 下面将介绍微信服务号获取用户位置信息的 ...

  3. 微信服务号开发的完整人性化版攻略

    前言: 本次要讲述的是一个本人完整微信服务号开发的经验分享,微信服务号的作品:请搜索微信号:zjaisino,名称:爱信诺Aisino一站式服务平台.(这里声明,这不是打广告,只是为了方便各位开花攻城 ...

  4. 微信公众号开发 - 发送Emoji表情

    微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...

  5. Springmvc集成jfinal微信 微信服务号开发

    最近研究微信服务号开发,发现jfinal家封装的SDK还是不错的,于是就定下来用它了. 那么问题来了:git上有demo,那么如何集成到自己的项目中呢?研究研究呗.我们框架使用的是springmvc, ...

  6. 微信服务号开发时获取授权遇到的问题

    1.问题 (遇到的问题)微信服务号开发时获取授权遇到的问题 公众平台返回原始数据为: 错误代码-40164,错误信息-invalid ip, not in whitelist hint: [59FKq ...

  7. 微信公众号开发--图文消息发送不显示图片的问题

    使用微信公众号接口实现图文消息推送,遇到问题,不显示图片,且content内容中有英文双引号也不行 1.微信不允许有外链的图片,所以会自动过滤 2."双引号格式问题. 前端把双引号传给后端后 ...

  8. 微信公众号开发(消息推送)

    文章目录 微信公众号开发 运行效果 微信公众号简介 注册微信公众号 注册测试公众号 搭建微信本地调试环境 微信公众号接入(校验签名) 给指定用户推送消息 网页授权获取用户openid 给指定用户发送模 ...

  9. 微信公众号开发---基础消息能力开发

    微信公众号接收普通消息 1.配置开发服务器 微信公众平台->开发->开发者工具->公众平台测试账号 appid:是微信公众号的唯一标识,通过和appsecret进行验证. URL:开 ...

最新文章

  1. 使用PHP搞定支付宝、微信扫码支付
  2. Cisco交换机中的flash,Rom,RAM,nvram的区别
  3. 十分钟看懂时序数据库(III)- 压缩
  4. 计算机软件通常称为,计算机软件通常分为
  5. android中使用startActivityForResult回传数据
  6. Qt下Undefined reference to 'vtable for xxx'
  7. php抓取动态数据,php+ajax实现无刷新动态加载数据技术
  8. Datawhale-零基础入门NLP-新闻文本分类Task04
  9. 菜鸟教程c语言题目,C 练习实例40
  10. ARP协议,ARP诈骗图
  11. Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案
  12. win7下装ubuntu双系统
  13. 幅度为a0的载波由峰峰值_【砂石骨料】机制砂亚甲蓝值对混凝土性能的影响研究...
  14. 令人超赞的ButterKnife8.8.1—快捷、方面、好用!你还在等什么
  15. 操作系统概念 学习笔记
  16. MD5加密算法简单实现
  17. springboot 问卷调查系统
  18. Camera ISP-知识大纲
  19. 在ipad上的几款远程桌面工具使用体会
  20. Redis Cluster内存爆满

热门文章

  1. Nginx 414 Request-URI Too Large报错解决方法
  2. MATLAB程序设计与应用(第三版)刘卫国 答案(一)
  3. 如何度过8天长假?小灰推荐几部经典电影给大家!
  4. 大象机器人推出史上最紧凑的六自由度机械臂-mechArm
  5. android手机备份恢复出厂设置,手机恢复出厂设置,小编教你安卓手机怎么恢复出厂设置...
  6. 简单工厂模式--女娲造人造啥做啥
  7. 郑莉老师c++第五版 复习笔记
  8. 供应&需求链的结构化管理 (zt)
  9. 51单片机的延时函数快速生成技巧
  10. 7-10 接话茬 (25 分)