本帖最后由 红A 于 2021-2-10 13:41 编辑
相信大家都用过或者听说过server酱
因为微信发布公告将在4月底下线模板消息,Server酱开发了以企业微信为主的多通道新版。旧版将在4月后下线。
这个企业微信是随便都可以注册的,且稍微操作后微信app端也可以收到推送。
而且server酱的服务是有一些限制的,那我们就不如自己整一个推送通道。没有每分钟最多1条,免费版每天5条的限制。
第一步呢要先注册企业微信,我们直接看server酱的教程,记下教程里的应用ID( agentid ),应用Secret( secret ),企业ID。
我把教程复制到石墨了,server酱的还需要登录才能看。https://shimo.im/docs/38dpjtwWtRRVQ6Wy
代码比较简陋,仅仅是能用的程度,希望大佬们可以开发出更加完善的版本
比如企业微信支持很多种消息,我只写了卡片消息一种
企业微信的api文档:https://work.weixin.qq.com/api/doc/90000/90135/90236
访问时带上参数就行啦,get post都可以。
如 http://example.com/server.php?corpid=xxx&corpsecret=xxx&agentid=xxx&title=title&description=desc&url=url
效果图
微信图片_20210210123057.png
(20.08 KB, 下载次数: 3)
最后是代码
- <?php
- $corpid = $_REQUEST['corpid']; //企业id
- $corpsecret = $_REQUEST['corpsecret']; //应用secret
- $agentid = $_REQUEST['agentid']; //应用id
- //如果就自己用,可以把参数写到这里。
- //$corpid = '';
- //$corpsecret = '';
- //$agentid = ;
- $title = $_REQUEST['title']; //消息title
- $description = $_REQUEST['description']; //消息内容
- $description = str_replace(PHP_EOL, '<br>', $description);
- $url = $_REQUEST['url']; //消息跳转url
- if(!$corpid or !$corpsecret or !$agentid){
- exit("canshu buquan");
- }
- //获取access_token
- $response = CurlGet("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret","","");
- $access_token = json_decode($response)->access_token;
- if(!$access_token){
- exit("canshu cuowu");
- }else{
- $json = '{"touser":"@all","msgtype":"textcard","agentid":"","textcard":{"title":"","description":"","url":"","btntxt":"更多"},"safe":1,"enable_id_trans":0,"enable_duplicate_check":0}';
- $json = json_decode($json);
- $json->agentid = $agentid;
- $json->textcard->title = $title ? $title : '无标题';
- $json->textcard->description = $description ? $description : '无内容';
-
- $json->textcard->url = $url ? $url : 'URL';
- echo CurlPost("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$access_token","", json_encode($json));
- }
- function CurlGet($url,$cookies = "",$UserAgent = "")
- {
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
- curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_REFERER, '');
- curl_setopt($curl, CURLOPT_COOKIE, $cookies);
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
- if ($UserAgent != "") {
- curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
- }
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- $response = curl_exec($curl);
- curl_close($curl);
- return $response;
- }
- function CurlPost($url, $cookies="", $post_data="", $headers=array(), $refer="", $UserAgent = '')
- {
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
- curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
- curl_setopt($curl, CURLOPT_COOKIE, $cookies);
- curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
- if ($refer != '') {
- curl_setopt($curl, CURLOPT_REFERER, $refer);
- }
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl, CURLOPT_POST, 1);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
- $response = curl_exec($curl);
- curl_close($curl);
- return $response;
- }
复制代码 |