//因为公众号请求发送消息接口需要认证(300RMB),所以这里选择的是测试号接口,一般来说效果差不多
//https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index首先你得去这里配置测试号,配置的源码如下
//封装成一个类,返回给微信,定义一个常量TOKEN值为weixin,用于交互微信

define("TOKEN", "weixin");//自己定义的token 就是个通信的私钥
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{public function valid(){$echoStr = $_GET["echostr"];if($this->checkSignature()){echo $echoStr;exit;}}public function responseMsg(){//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//extract post dataif (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$keyword = trim($postObj->Content);$time = time();$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";if(!empty( $keyword )){$msgType = "text";$contentStr = "Welcome to wechat world!";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}else{echo "Input something...";}}else {echo "";exit;}}private function checkSignature(){$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$token =TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}
}

测试号配置好了后,就可以开始实现发送微信消息接口了;

 /*** @return mixed* 获取微信Access_token*/public function get_wx_access_token(){//将access_token存在session/cookie中//如果access_token在session中并没有过期if (isset($_SESSION['access_token']) && $_SESSION['expire_time'] > time()) {return $_SESSION['access_token'];}//如果access_token不存在或者已经过期,重新获取access_tokenelse {//protected $appid="wx99e125***efaebe9"; //公众号APPID//protected $appsecret="14b01a0afd0ea****7c4a1a4882385c6"; //公众号秘钥$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->appsecret;$arr = $this->my_curl_wx_api($url);//存到session中$access_token             = $arr['access_token'];$_SESSION['access_token'] = $arr['access_token'];$_SESSION['expire_time']  = time() + 7200;return $access_token;}}//发送public function service_send(){unset($_SESSION);//获取Access_token$Access_token=$this->get_wx_access_token();//请求地址$url="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$Access_token;//组装接口Array$array=["touser"=>"o0roI1lyAa_8WgMNUlUOjpMlap_Y", //用户的openid"text"=>["content"=>"China is very NB!!! I love China!!!"],"msgtype"=>"text"];//将array->json()$postJson=json_encode($array,JSON_UNESCAPED_UNICODE);//调用url$send=$this->my_curl_wx_api($url,'POST',$postJson);var_dump($send);}/***请求接口*/protected function my_curl_wx_api($url, $type = 'POST', $data = array()){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);curl_setopt($ch, CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch, CURLOPT_AUTOREFERER, 1);if($data){curl_setopt($ch, CURLOPT_POSTFIELDS, $data);}if(isset($data['file']) && $data['file']){curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false);}$result = curl_exec($ch);curl_close($ch);return json_decode($result, true);}

上面就是全部代码,喜欢给个赞鼓励鼓励~~~谢谢

微信公众号发送消息接口(群发接口)相关推荐

  1. 微信公众号怎么推送消息_微信公众号发送消息

    A.模板消息发送 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 备注 ...

  2. python训练营微信广告发送机_python实现给微信公众号发送消息的方法

    本文实例讲述了python实现给微信公众号发送消息的方法.分享给大家供大家参考,具体如下: 现在通过发微信公众号信息来做消息通知和告警已经很普遍了.最常见的就是运维通过zabbix调用shell脚本给 ...

  3. Java微信公众号发送消息-保姆级教程附源码

    目录 1. 概念说明: 2. 开发准备: 3. 测试demo(更改配置信息即可使用) 3.1. 服务器配置 3.1.1.配置填写说明 3.1.2.校验服务器有效性: 3.1.3.URL后端接口代码和校 ...

  4. 实现微信公众号发送消息给指定用户

    一.前言 在实际项目开发中,需要实现消息中心向关注微信公众号的指定用户发送消息通知,在翻阅了网上很多资料及微信官方开发文档后,最终顺利完成功能开发,但是其中走过的路艰辛且曲折,因此特将开发过程中踩过的 ...

  5. 微信公众号发送消息通知

    微信申请测试公众号 申请测试号 微信公众平台接口调试工具 接口调试工具 如何获取用户的openid 获取用户的openid 4.通过微信公众号后台聊天获取用户的openid 测试平台获取appID,a ...

  6. 微信公众号 java发送消息_微信公众号发送消息模板(java)

    这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 1 public staticJSONObject sendModelMessage(ServletContext contex ...

  7. 小程序发送订阅消息,微信公众号发送消息模板

    首先讲两个注意事项 1.小程序和微信公众号的用户openid是不同的. 2.小程序需要用户手动授权订阅消息通知(一次性订阅是订阅一次发一次,长期订阅可以多发). 关于小程序和公众号AppID和AppS ...

  8. python微信接口发送消息_Python 微信公众号发送消息

    #pip3 install requests importrequestsimportjsondefget_access_token():"""获取微信全局接口的凭证(默 ...

  9. 微信公众号发送消息 Java

    首先申请一个公众号订阅号(个人测试账号)企业可申请服务号 在开发者工具里面申请一个测试账号 url 提供自己服务器地址+通信接口路由  或者在本人博客资源下载个natapp 内网穿透有工具 代理个ht ...

  10. Java后端发送微信公众号模版消息自创建公用类

    微信公众号模版消息 肯定很多人都被微信的开放平台折磨,我也一样无一例外,也是根据公司的业务踩的坑,后来花时间研究了几个小时算是搞明白了. 下边不多说直接上详细说明和demo 首先打开微信开发平台 微信 ...

最新文章

  1. 技术系统进化法则是_()是技术系统所有进化法则的基础。
  2. 使用npm安装TypeScript
  3. 迁移数据库到SQL on Linux Docker
  4. Wordpress中显示页面当前位置
  5. 前端学习(2136):使用es6模块化出现Access to script at ‘file:///... ..from origin ‘null‘ has been blocked。。。错误
  6. 中国红色旅游消费大数据报告(2021)
  7. 报错:TargetException, 非静态方法需要一个目标
  8. C语言中你可能会用到的字符串函数的代码
  9. 如何运行自动 Mac 清理
  10. 性能测试的原则和方法
  11. python:sklearn 标签编码(LabelEncoder)
  12. 基于DWM1000模块开发UWB系统进行室内定位
  13. 电力安全工作规程发电厂和变电站电气部分_电气主接线知识精讲!
  14. Java数组索引越界异常
  15. EMC理论基础知识——电磁屏蔽
  16. 20190519 ICPC西安邀请赛游记
  17. ctf 网络安全比赛简介
  18. 工行智能客服服务量突破1.7亿笔;迪拜机场拟用人脸识别技术替代护照检查
  19. 安装SqlServer 2008 R2时出现程序兼容性问题
  20. javax.el.PropertyNotFoundException——属性未找到

热门文章

  1. PostgreSQL学习手册(PL/pgSQL过程语言)
  2. qt写的在ok6410上的密码锁
  3. anaconda下载过慢修改源配置
  4. scala 单例对象 伴生对象
  5. 【数据结构】可以逃课其它字符串算法的字符串哈希算法
  6. ASP.NET连接数据库实现登录和注册
  7. android以ini文件形式保存在内部存储_Android中将Bitmap对象以PNG格式保存在内部存储中...
  8. android zxing 自动对焦,Zxing中的camera
  9. oracle如何查不满16岁,如何在Oracle数据库中使用SQL查询获取基于年龄组的人数?...
  10. android多击事件_android自定义OnTouchEvent处理长按,单击,双击,多击事件和Touch