消息的接收:
验证消息真实性继续使用接口接入时策略,见Ruby on Rails微信开发1——开发模式的启用与接口配置
接收消息
路由配置:
post '/test/wechat',to: 'wechat_supports#process_request’
#ruby实现
#接收微信服务器信息
def process_request
if check_signature?(params[:signature], params[:timestamp], params[:nonce]) #验证消息真实性
if params[:xml][:MsgType] == "event"
if params[:xml][:Event] == "subscribe"
render "wechat/info", layout: false, :formats => :xml #关注
end
else
render "wechat/info", layout: false, :formats => :xml #用户输入消息时,回送欢迎关注
end
end
end
消息的响应:
注意,发送给微信服务器的XML格式要完全与上图中格式相同,否则无法响应消息!
在ruby on rails中,可以通过创建erb.xml文件的方法构造符合要求的XML
如上,将代码部署到服务器后,用户关注公共账号或者向公共账号发送消息,公共账号均做出响应如下: