微信公众平台接入

微信公众平台接口说明:

http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5

 

1、         注册

如果还没有一个微信公众平台账号,那么我们首先进行注册:

注册页面地址:

http://mp.weixin.qq.com/cgi-bin/readtemplate?t=wxm2-realname-reg&lang=zh_CN

特别要注意,注册个人公共账号时,需要提供证件照片,要求如下:


1、         准备服务器

由于我们要使用微信公众平台提供的接口实现自动回复等功能,所以我们需要有自己的信息处理服务器。一个简单的信息处理过程如下图:

 

我们的服务器端可以解析收到的微信消息,并对用户动作进行反馈。

当前我们测试用的服务器搭建在sina app engine上,搭建流程见《Sina app engin 简单使用》

服务器端主要java代码如下:

网址接入代码:(用于启用消息接口)

@RequestMapping("checkJoin")
@ResponseBody
	public String checkJoin(HttpServletRequest request, HttpServletResponse response,
			String signature,String timestamp, String nonce,String echostr) throws IOException {
		if(echostr!=null){//为验证请求
			return echostr;
		}


处理用户文本信息代码:(在消息接口启用后使用)

@RequestMapping("checkJoin")
	@ResponseBody
	public String checkJoin(HttpServletRequest request, HttpServletResponse response,
			String signature,String timestamp, String nonce,String echostr) throws IOException {
			String postStr=null;  
        try{  
            postStr=this.readStreamParameter(request.getInputStream());  
        }catch(Exception e){  
            e.printStackTrace();  
        } 
        
        if (null!=postStr&&!postStr.isEmpty()){  
            Document document=null;  
            try{  
                document = DocumentHelper.parseText(postStr);  
            }catch(Exception e){  
                e.printStackTrace();  
            }  
            if(null==document){  
                return"";  
            }  
            Element root=document.getRootElement();  
            String fromUsername = root.elementText("FromUserName");  
            String toUsername = root.elementText("ToUserName");  
            String keyword = root.elementTextTrim("Content"); 
            String msgId = root.elementTextTrim("MsgId"); 
            String time = new Date().getTime()+"";  
            String textTpl = "<xml>"+  
                        "<ToUserName><![CDATA[%1$s]]></ToUserName>"+  
                        "<FromUserName><![CDATA[%2$s]]></FromUserName>"+  
                        "<CreateTime>%3$s</CreateTime>"+  
                        "<MsgType><![CDATA[%4$s]]></MsgType>"+  
                        "<Content><![CDATA[%5$s]]></Content>"+  
                        "<FuncFlag>0</FuncFlag>"+  
                        "</xml>";               
               
            if(null!=keyword&&!keyword.equals(""))  
            {  
                String msgType = "text";  
                String contentStr =keyword+ " 你好";  
                String resultStr = textTpl.format(textTpl, fromUsername, toUsername, time, msgType, contentStr); 
                
                weixin.setFromUserName(fromUsername);
                weixin.setCreateTime(time);
                weixin.setContent(contentStr);
                weixin.setMsgType(msgType);
                weixin.setToUserName(toUsername);
                weixin.setMsgId(msgId);
                
                return resultStr;  
            }else{  
            	 return "Input something...";  
            }  
   
        }else {  
        	 return "";    
        }  
		
	}
	 //从输入流读取post参数  
    public String readStreamParameter(ServletInputStream in){  
        StringBuilder buffer = new StringBuilder();  
        BufferedReader reader=null;  
        try{  
            reader = new BufferedReader(new InputStreamReader(in));  
            String line=null;  
            while((line = reader.readLine())!=null){  
                buffer.append(line);  
            }  
        }catch(Exception e){  
            e.printStackTrace();  
        }finally{  
            if(null!=reader){  
                try {  
                    reader.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
        return buffer.toString();  
    } 
    


 

1、         启用消息接口

登陆微信公众平台,选择:高级功能,

可以看到页面上有‘编辑模式’和‘开发模式’两个选择。默认开启‘编辑模式’。



进入编辑模式并关闭。



进入开发模式,点击成为开发者进入如下页面:


特别注意是URL是你在‘2准备服务器’中自己服务器的访问路径(即接收微信服务器发送信息的url地址),必须以http://开头,且为80端口。

Token 可以自定义。

填好后点击提交,这会有下面这些结果

1   你的服务器没有正确响应Token验证,请阅读消息接口使用指南


这样回头检查一下各项配置是否正确。如果确定配置没有问题,请按下面的方法检查

2)请求URL超时(超过5s


你的服务器在国外,或者服务器网速不给力,一般多试几次就可以了。如果经常这样,就需要考虑更换服务器

3)提交成功



恭喜你,配置成功了。

 

1、         功能测试:

(1)  使用普通账号关注我们的公众账号。

(2)  发送消息‘1’给公众账号。

(3)  如果公众账号返回‘1你好’。则测试成功。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值