微信小程序> 微信小程序客服后台开发无法收到微信后台发来的消息-微信小程序收不到短信验证码-微信小程序短信验证

微信小程序客服后台开发无法收到微信后台发来的消息-微信小程序收不到短信验证码-微信小程序短信验证

浏览量:4101 时间: 来源:何浪
前言最近做了一个微信客服的后台(基于Springboot),需要自动回复用户的消息,但是,其中遇到有些坑,这里稍微讲一下(前提你已经在小程序的后台配置了相关的参数,如图1)

图1

后台接口1.获取access_token1.

根据微信后台文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/getAccessToken.html

2.

文档里说,不能经常获取,否则就要出错,因此,这里设置定时任务,每一个小时去获取一次。在Springboot中可以使用@Scheduled(fixedDelay60*60*1000)这个注解来实现定时任务,这里代码就略过了

2.接口3.

这里其实配置两个接口来和微信进行通信,1,验证你的服务器地址URL,就是需要在图1,请求方式是GET,具体的可以看微信的文档;2,接收用户发来的消息,其实地址也是图1中的URL是一样的,只是这个请求方式是POST,见代码

/***@authorhelang*/@RestControllerpublicclassWxTestController{/***接收微信后台发来的用户消息*@return*/@RequestMapping(value"wx/message",methodRequestMethod.POST)@ResponseBodypublicStringreceiveMessage(@RequestBodyMapString,Objectmsg){//tokensendMsToCustomer("token",msg.get("FromUserName").toString());return"success";}/***微信校验后台服务器*需要做一些sha1等判断后,如果相同的话,直接返回echostr,*这里代码略过,直接返回echostr*@return*/@RequestMapping(value"wx/message",methodRequestMethod.GET)@ResponseBodypublicStringcheckValid(Stringsignature,longtimestamp,Stringnonce,Stringechostr){returnechostr;}/***发送消息给用户*@paramfromUserName用户的openId*/privatevoidsendMsToCustomer(Stringaccess_token,StringfromUserName){RestTemplaterestTemplatenewRestTemplate();StringmessageJson"";////access_tokenStringresultrestTemplate.postForEntity("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_tokenxxxxxx",messageJson,String.class).getBody();}}问题4.

如上图的接收消息的接口receiveMessage(),当我使用@RequestBodyBean的时候,始终无法接收到消息,微信后台配置的是JSON格式的交互啊,难道我哪里错了?由于配置的是线上服务器,我这边抓包是很困难的,一直无法查清楚微信给发来的http请求的内容是什么,导致困扰了一两天。功夫不负有心人,我多方尝试,那个参数类型,将它从Bean改为map后,终于可以收到微信发来的消息内容了

总结5.

这个微信后台开发,只要按照微信官方文档来做,其实是很简单的。遇到这个参数问题,能够抓包看,就抓包,当不能抓包的时候,多多尝试其他方法

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎