摘要
家喻户晓,服务号是具备模板音讯的接口的,能够被动向用户推送告诉音讯,但前段时间,微信团队开始向开发者告诉模板音讯行将调整为订阅音讯,即用户承受订阅,能力收到推送恰好企业微信没有做扭转,则咱们能够通过企业微信实现接管告诉。
配置步骤
1、注册企业微信,集体也能够注册
2、注册后,登陆企业微信,欠缺根本信息
3、点击利用治理->自建->创立利用
4、创立胜利后,简略批改下本人的材料
5、获取企业ID和Secret
企业ID在我的企业能够获取
利用Secret在你创立的利用处能够查看
开发
依据企业微信API申请流程可知,要想调用企业微信API,先取得access_token并缓存,因为每天的调用次数无限,access_token有效期为2小时,所以要进行缓存。而后再调用业务API,实现你申请的接口。
我这里用单页面实现整个过程(获取access_token,缓存access_token,发送推送)
<?php// 申明页面headerheader("Content-type:text/html;charset=utf-8");// 获取access_tokenfunction getToken(){ // 定义id和secret $corpid='你的企业微信企业ID'; $corpsecret='你的企业微信secret'; // 读取access_token include './access_token.php'; // 判断是否过期 if (time() > $access_token['expires']){ // 如果曾经过期就得从新获取并缓存 $access_token = array(); $access_token['access_token'] = getNewToken($corpid,$corpsecret); $access_token['expires']=time()+7000; // 将数组写入php文件 $arr = '<?php'.PHP_EOL.'$access_token = '.var_export($access_token,true).';'.PHP_EOL.'?>'; $arrfile = fopen("./access_token.php","w"); fwrite($arrfile,$arr); fclose($arrfile); // 返回以后的access_token return $access_token['access_token']; }else{ // 如果没有过期就间接读取缓存文件 return $access_token['access_token']; }}// 获取新的access_tokenfunction getNewToken($corpid,$corpsecret){ $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={$corpid}&corpsecret={$corpsecret}"; $access_token_Arr = https_request($url); return $access_token_Arr['access_token'];}// curl申请函数function https_request ($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $out = curl_exec($ch); curl_close($ch); return json_decode($out,true);}// 发送利用音讯函数function send($data){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='.getToken()); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); return curl_exec($ch);}// 文本卡片音讯体$postdata = array( 'touser' => '@all', 'msgtype' => 'textcard', 'agentid' => '1000002', 'textcard' => array( 'title' => '测试卡片的题目', 'description' => '测试卡片的形容', 'url' => 'http://www.qq.com', 'btntxt' => '浏览全文', ), 'enable_id_trans' => 0, 'enable_duplicate_check' => 0, 'duplicate_check_interval' => 1800);// 调用发送函数echo send(json_encode($postdata));?>
上方的代码间接拜访即可实现推送。
阐明
文本卡片音讯体是发送文本卡片的数据,通过JSON格局数据进行发送给企业微信API,具体的参数阐明请看开发文档:https://work.weixin.qq.com/ap...
// 文本卡片音讯体$postdata = array( 'touser' => '@all', 'msgtype' => 'textcard', 'agentid' => '1000002', 'textcard' => array( 'title' => '测试卡片的题目', 'description' => '测试卡片的形容', 'url' => 'http://www.qq.com', 'btntxt' => '浏览全文', ), 'enable_id_trans' => 0, 'enable_duplicate_check' => 0, 'duplicate_check_interval' => 1800);
touser为@all就是向所有人推送音讯,msgtype就是以后发送的类型,agentid就是以后利用的id,textcard就是一些参数(题目、跳转的链接等)。
除了下面的音讯类型,还有文本音讯、图片音讯、语音音讯、视频音讯、图文卡片音讯等,具体能够查看开发文档,配置发送的音讯体。
如果你微信关注了这个利用,那么就能够在微信收到告诉,如过没有关注,就只能在企业微信内收到告诉。
作者
Author:TANKING
Web:www.likeyuns.com
WeChat:sansure2016