如何用微信公众号发送信息(微信公众号之主动给用户发送消息功能)
如何用微信公众号发送信息
微信公众号之主动给用户发送消息功能前一段时间项目中遇到一个稍微麻烦一点的问题。
即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面。
于是乎,当时脑子一热,想着没什么大的问题,so easy。模板消息不就得了。
后来在写代码的过程中却发现,并不行。
微信公众号中模板消息有很严格的限制。
1.必须有用户主动触发事件方可发送模板消息
2.模板消息一分钟只能发送六十条,超过六十条,不好意思。你懂。
于是乎,就想到了另一种方法:群发消息
但是一看文档中群发消息的限制,发现悲催了
群发消息服务号每个月最多只能发送4条。
而客户要求的是随时随地就能发送.这个4条明显不符合要求的。
怎么办呢?一度陷入困难之中。只好继续查看开发文档。
当看到客服功能时,突然想到,能不能用客服主动给用户发送消息呢?
于是乎,想到就去试验下。
首先,先在公众号后台功能模块中-》添加功能模块 添加 客服功能 模块
如图所示:
然后就进入代码环节了。
先添加客服。也可以公众号后台添加
|
//先添加客服 function addkf() { $token = getToken(); $url = 'https://api.weixin.qq.com/customservice/kfaccount/add?access_token=' . $token ; $data = '{ "kf_account" : "system@system" , "nickname" : "客服1" , "password" : "admin" , }'; echo https_request( $url , $data ); } |
然后就是主动发送消息的方法
|
//获取access_token的方法。 function getToken() { $appid = 'appid' ; $appsecret = 'appsecret' ; $token_file = dirname(dirname( __FILE__ )). '/data/token.txt' ; if (! file_exists ( $token_file ) || ((time() - filemtime ( $token_file )) > 7000)){ $TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $appsecret ; $json = file_get_contents ( $TOKEN_URL ); $result =json_decode( $json ); $ACC_TOKEN = $result ->access_token; file_put_contents ( $token_file , $ACC_TOKEN ); } else { $ACC_TOKEN = file_get_contents ( $token_file ); } return $ACC_TOKEN ; } //调用发送方法 function sendmsg( $content , $openid ) { $token = getToken(); $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' . $token ; $content = '感谢你的关注\n回复你厉害 \n例如<a href=\"http://www.baidu.com\">回复123456</a>' ; $data = '{ "touser" : "'.$openid.'" , "msgtype" : "text" , "text" : { "content" : "'.$content.'" } }'; https_request( $url , $data ); return true; } /** * request 请求 */ function https_request( $url , $data = null){ $curl = curl_init(); curl_setopt( $curl , CURLOPT_URL, $url ); curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt( $curl , CURLOPT_SSL_VERIFYHOST, FALSE); if (! empty ( $data )){ curl_setopt( $curl , CURLOPT_POST, 1); curl_setopt( $curl , CURLOPT_POSTFIELDS, $data ); } curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1); $output = curl_exec( $curl ); curl_close( $curl ); return $output ; } |
使用的时候直接调用 sendmsg()
方法传值就可以了。
最后上完成的图
如图所示,公众号可以给用户发送消息,而且发送的内容你可以使用html 标签哦
虽然这样感觉很方便,但是同样,微信公众平台对此也有限制。
1.用户必须关注公众号,方可收到信息。
2.用户只能连续收到 20 条客服消息。超过后用户就收不到消息,
超过后,用户必须 主动给公众号发送消息 。或者 点击菜单栏,这样20条消息的限制就会重置。
总结
以上所述是小编给大家介绍的微信公众号之主动给用户发送消息功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:https://www.cnblogs.com/YFYQ/p/11067840.html
- python用pyqt5制作登录界面(python3+pyqt5+itchat微信定时发送消息的方法)
- java集成钉钉发送消息(Python实现钉钉发送报警消息的方法)
- python发送微信消息脚本(python实现给微信指定好友定时发送消息)
- python发送微信消息脚本(python实现微信定时每天和女友发送消息)
- php关注公众号发送消息(php实现QQ小程序发送模板消息功能)
- 如何用微信公众号发送信息(微信公众号之主动给用户发送消息功能)
- iframe向子页面发送消息(使用postMessage让 iframe自适应高度的方法示例)
- Top 3 JSHS《运动与健康科学 英文 》跻身SCI体育学期刊世界前三(Top3JSHS运动与健康科学)
- 体坛传媒LOGO全新升级,多元发展迈出坚实步伐(体坛传媒LOGO全新升级)
- 超撩人治愈的绝美水彩,原来出自她之手 一笔一画令无数人沉醉(超撩人治愈的绝美水彩)
- 新手的勾线(新手的勾线)
- ()
- 书法欣赏 宋.志南诗《绝句》(宋.志南诗绝句)
热门推荐
- sql数据库语言的两种使用方式(通过使用正确的search arguments来提高SQL Server数据库的性能)
- app怎样像web一样调试(详解webapp页面滚动卡顿的解决办法)
- css3所有动画(CSS3常见动画的实现方式)
- css3旋转立方体效果(利用CSS实现立方体360度旋转效果实例代码)
- html5视频播放代码详解(HTML5基于flash实现播放RTMP协议视频的示例代码)
- idea如何运行tomcat项目(在IDEA 2020.3.1中部署Tomcat并且创建第一个web项目的过程详解)
- python随机生成时间戳(python时间序列按频率生成日期的方法)
- vue是怎样进行页面跳转(Vue实现登陆跳转)
- apache服务器的主配置(Apache中.htaccess文件功能)
- python包和模块管理(python的依赖管理的实现)