当前位置:首页 > PHP教程 > php应用 > 列表

php实现微信公众号无限群发

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-20 00:16:13 浏览: 评论:0 

本文给大家分享的是php实现的利用微信的客服接口进行各类消息的无限群发,思路非常巧妙,有需要的小伙伴可以参考下。

利用微信客服接口进行各类消息的无限群发

sendAllMsg.php

  1. <?php 
  2.   /* 
  3.     Author:yf 
  4.     使用说明:微信公众号无限群发接口,使用实例:    
  5.     $test = new SendAllMsg("你的appId","你的appSecret"); 
  6.     $test->sendMsgToAll(); //调用群发方法 
  7.     注:1.使用条件:认证号或测试号 
  8.       2.群发消息内容可为图文、文本、音乐等,$data具体内容参照微信开发文档/客服接口 
  9.       3.若用户量过万,需修改getUserInfo(),具体参照信开发文档/获取关注者列表 
  10.          
  11.     新手上路,大神们多多指点,谢谢 
  12.   */ 
  13.   interface iSendAllMsg{ 
  14.     function getData($url); //curl 发送get请求 
  15.     function postData($url,$data); //curl 发送post请求 
  16.     function getAccessToken();  //在构造方法中已调用该方法来获取access_token,注意它在wx服务器的保存时间7200s 
  17.     function sendMsgToAll(); //群发消息方法,发送的消息$data 可自行修改 
  18.   } 
  19.   class SendAllMsg implements iSendAllMsg{ 
  20.     private $appId;  
  21.     private $appSecret
  22.     private $access_token
  23.     // 
  24.     public function __construct($appId$appSecret) { 
  25.       $this->appId = $appId
  26.       $this->appSecret = $appSecret
  27.       $this->access_token = $this->getAccessToken(); 
  28.     } 
  29.     // 
  30.     function getData($url){ 
  31.       $ch = curl_init(); 
  32.       curl_setopt($ch, CURLOPT_URL, $url); 
  33.       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  34.       curl_setopt($ch, CURLOPT_HEADER, 0); 
  35.       curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); 
  36.       curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); 
  37.       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
  38.       $data = curl_exec($ch); 
  39.       curl_close($ch); 
  40.       return $data
  41.     } 
  42.     // 
  43.     function postData($url,$data){ 
  44.       $ch = curl_init(); 
  45.       curl_setopt($ch, CURLOPT_URL, $url); 
  46.       curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
  47.       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  48.       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
  49.       curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); 
  50.       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
  51.       curl_setopt($ch, CURLOPT_AUTOREFERER, 1); 
  52.       curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
  53.       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
  54.       $tmpInfo = curl_exec($ch); 
  55.       if (curl_errno($ch)) { 
  56.         return curl_error($ch); 
  57.       } 
  58.       curl_close($ch); 
  59.       return $tmpInfo
  60.     } 
  61.     // 
  62.     function getAccessToken(){ 
  63.       $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appId."&secret=".$this->appSecret; 
  64.       $res = $this->getData($url); 
  65.       $jres = json_decode($res,true); 
  66.       $access_token = $jres['access_token']; 
  67.       return $access_token
  68.     } 
  69.     // 
  70.     private function getUserInfo(){ 
  71.       $url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$this->access_token; 
  72.       $res = $this->getData($url); 
  73.       $jres = json_decode($res,true); 
  74.       //print_r($jres); 
  75.       $userInfoList = $jres['data']['openid']; 
  76.       return $userInfoList
  77.     } 
  78.     function sendMsgToAll(){ 
  79.       $userInfoList = $this->getUserInfo(); 
  80.       $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$this->access_token; 
  81.       foreach($userInfoList as $val){ 
  82.         $data = '{ 
  83.               "touser":"'.$val.'"
  84.               "msgtype":"text"
  85.               "text"
  86.               { 
  87.                 "content":"测试一下,抱歉打扰各位" 
  88.               } 
  89.             }'; 
  90.         $this->postData($url,$data); 
  91.       } 
  92.     } 
  93.   } 
  94.   $test = new SendAllMsg("YOURappId","YOURappSecret"); 
  95.   $test->sendMsgToall(); 
  96.      
  97. ?> 

以上就是本文的全部内容了,希望大家能够喜欢。

Tags: php微信公众号无限群发

分享到: