如何用微信公众号发送信息(微信公众号之主动给用户发送消息功能)
如何用微信公众号发送信息
微信公众号之主动给用户发送消息功能前一段时间项目中遇到一个稍微麻烦一点的问题。
即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面。
于是乎,当时脑子一热,想着没什么大的问题,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
- java集成钉钉发送消息(Python实现钉钉发送报警消息的方法)
- iframe向子页面发送消息(使用postMessage让 iframe自适应高度的方法示例)
- python用pyqt5制作登录界面(python3+pyqt5+itchat微信定时发送消息的方法)
- python发送微信消息脚本(python实现微信定时每天和女友发送消息)
- php关注公众号发送消息(php实现QQ小程序发送模板消息功能)
- 如何用微信公众号发送信息(微信公众号之主动给用户发送消息功能)
- python发送微信消息脚本(python实现给微信指定好友定时发送消息)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
热门推荐
- 阿里云服务器内外网址(阿里云服务器网站发现后门该怎么处理)
- vue 访问后台接口(vue轮询请求解决方案的完整实例)
- thinkphp实战教程之博客技术学习(python3编写ThinkPHP命令执行Getshell的方法)
- vscode react jsx语法 开发环境(React-vscode使用jsx语法的问题及解决方法)
- mysql常用四种日志(MySQL 撤销日志与重做日志Undo Log与Redo Log相关总结)
- php抽奖功能(php+lottery.js实现九宫格抽奖功能)
- linux开启ssh服务(Linux ssh服务器配置代码实例)
- phpcurl缺点(PHP封装cURL工具类与应用示例)
- windows10hyper-v怎么关闭(windows10下关闭Hyper-V服的几种方法)
- NameValueCollection用法