/*

Author:yf

使用说明:微信公众号无限群发接口,使用实例:

$test = new SendAllMsg("你的appId","你的appSecret");

$test->sendMsgToAll(); //调用群发方法

注:1.使用条件:认证号或测试号

2.群发消息内容可为图文、文本、音乐等,$data具体内容参照微信开发文档/客服接口

3.若用户量过万,需修改getUserInfo(),具体参照信开发文档/获取关注者列表

*/interface iSendAllMsg{ function getData($url); //curl 发送get请求 function postData($url,$data); //curl 发送post请求 function getAccessToken(); //在构造方法中已调用该方法来获取access_token,注意它在wx服务器的保存时间7200s function sendMsgToAll(); //群发消息方法,发送的消息$data 可自行修改}class SendAllMsg implements iSendAllMsg{ private $appId; private $appSecret; private $access_token; // public function __construct($appId, $appSecret) { $this->appId = $appId; $this->appSecret = $appSecret; $this->access_token = $this->getAccessToken();

} // function getData($url){ $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)‘);

curl_setopt($ch, CURLOPT_ENCODING, ‘gzip‘);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $data = curl_exec($ch);

curl_close($ch); return $data;

} // function postData($url,$data){ $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)‘);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $tmpInfo = curl_exec($ch); if (curl_errno($ch)) { return curl_error($ch);

}

curl_close($ch); return $tmpInfo;

} // function getAccessToken(){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appId."&secret=".$this->appSecret; $res = $this->getData($url); $jres = json_decode($res,true); $access_token = $jres[‘access_token‘]; return $access_token;

} // private function getUserInfo(){ $url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$this->access_token; $res = $this->getData($url); $jres = json_decode($res,true); $userInfoList = $jres[‘data‘][‘openid‘]; return $userInfoList;

} function sendMsgToAll(){ $userInfoList = $this->getUserInfo(); $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$this->access_token;

php 微信接口文档例子,微信开发之群发(示例代码)相关推荐

  1. 【接口文档】微信支付现金红包未开通,公众号发红包用第三方红包代发接口

    对接技术支持: QQ:3314129409   Wechat/Tel:18674509508 红包接口使用流程: 首先由后台通过红包创建接口获取红包ticket,然后使用ticket拼装红包链接,在用 ...

  2. 微信小程序接口文档PHP,微信小程序API 导航

    微信小程序API 导航 一.wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. OBJECT 参数说明: 示例代码: ...

  3. 文档转换html6,html学习文档-6、HTML 文本格式化(示例代码)

    6.1  文本格式化 ①文本格式化标签 标签 描述 定义粗体文本. 定义大号字. 定义着重文字. 定义斜体字. 定义下标字. 定义上标字. 定义插入字. 定义删除字. 不赞成使用.使用 代替. 不赞成 ...

  4. 钉钉开发者接口文档_无需开发,IT事件接入钉钉的方法详解

    1.市场在拥抱钉钉 最近一篇名为<为什么又很多企业沉迷钉钉无法自拔>的文章很火,文章不短,其中有一部分阐述了:钉钉抓住以人为核心的"智能协同"差异化路线,帮助企业打破过 ...

  5. Django DRF 自动生成接口文档

    文章目录 1. 引子 2. 自动生成接口文档 3. 文档描述说明的定义位置 1. 引子 前端请求的url由谁来写 url 主要有后台来写,写完给前端: 如果后台查询数据,需要借助查询条件才能查询前端需 ...

  6. sentinel 官方文档_SpringCloud网关聚合Swagger接口文档实践

    目前大多数项目都是以微服务架构设计,以前后端分离技术解耦前端开发工程师和后端开发工程师的工作量,这样一来前后端的对接将是一项重要的沟通工作量,如果后端没有一个合适的API文档,那么这样的前后端对接将是 ...

  7. 12- APP接口测试以及接口文档的分析

    什么是接口? 为什么要做接口测试? 接口测试流程 需求评审 需求分析 接口用例设计 执行测试用例 bug的定位于追踪 接口文档分析 接口文档分析:开发 内容: 1.接口名称 2.接口地址 3.支持方式 ...

  8. python web 文件管理_我的第一个python web开发框架(23)——代码版本控制管理与接口文档...

    书接上一回,小白和老菜聊到代码的版本控制和接口文档 小白:为什么要做版本控制,我不弄版本控制不也完成了项目了吗?要做版本控制不是很麻烦,又要安装服务又要提交代码,代码又不是多人用开发,还要写文档... ...

  9. 我的第一个python web开发框架(23)——代码版本控制管理与接口文档

    书接上一回,小白和老菜聊到代码的版本控制和接口文档 小白:为什么要做版本控制,我不弄版本控制不也完成了项目了吗?要做版本控制不是很麻烦,又要安装服务又要提交代码,代码又不是多人用开发,还要写文档... ...

最新文章

  1. ubuntu 16.04 python3 使用ryu
  2. 运动会管理系统php,运动会管理系统源代码.doc
  3. wxWidgets:wxAccessible类用法
  4. mysql安装提示language错误_MySQL 安装 CMake Error CMAKE_CXX_COMPILER not set
  5. m文件中函数的执行顺序
  6. Leetcode389
  7. Linux namespace之:uts namespace
  8. UIImagePickerController按钮的中文问题
  9. 【Java】在eclipse中使用maven进行项目构建 入门篇
  10. mysql jpa 正则_Spring Data JPA 实例查询
  11. CircularFifoQueue队列API
  12. 操作系统课设实验五---Nachos文件系统扩展
  13. C/C++——黑客数字雨特效
  14. 网站打不开怎么检查服务器,检查网站打不开的三种原因
  15. Problem : 美丽黄山II
  16. 中基鸿业普通家庭如何理财
  17. 困难时拉你一把的图片_人,最不能忘记的,是在你困难时拉你一把的人,句句现实经典...
  18. 线性代数 | (1) 矩阵Part One
  19. Excel获取字体颜色信息的函数操作FgColor函数
  20. 如何区分单色LCD液晶屏的显示模式和玻璃型号

热门文章

  1. linux的无值守安装实例
  2. 【原创】Exchange 用户发送邮件提示:您无权执行此操作,解决办法
  3. Linux高级课程----Linux的例行性工作和chrony服务器
  4. 数据分析笔记--matplotlib(五)绘制条形图
  5. ChatGPT使用详细步骤
  6. HOD服务集群 torque maui
  7. 制造蝴蝶飓风,微众区块链的蝶变和ESG新使命
  8. 如何升级 Debian 10 (Buster) 到 Debian 11 (Bullseye) ?
  9. 微软Windows系统发展史
  10. ALSA 配置文件简介