红A 大佬有话说 :
MJJ专用server酱 企业微信通道PHP版
本帖最后由 红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
效果图
最后是代码
<?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;
}
似毛非毛 大佬有话说 :
红A 大佬有话说 : 2021-2-10 14:16
是嘛…我还是特意搜索过没有相关帖子再发的呀,看来是我没有搜到
楼主这个挺好的。我也找过,没找到。。倒是有人做了个API模仿SERVER酱。让别人用它的API。。。
MJJ自建才是王道。。。
红A 大佬有话说 :
netsky 大佬有话说 : 2021-2-10 13:34
配置了怎么用,直接访问提示canshu buquan
访问的时候带上参数
corpid //企业id
corpsecret //应用secret
agentid//应用id
title //消息title
description //消息内容
url //消息跳转url
h20 大佬有话说 :
这是干嘛用的
皮卡丘 大佬有话说 :
h20 大佬有话说 : 2021-2-10 12:18
这是干嘛用的
推送消息吧
JtrD 大佬有话说 :
好。
红A 大佬有话说 :
h20 大佬有话说 : 2021-2-10 12:18
这是干嘛用的
推送通知消息用的呀,可以直接推送到微信
似毛非毛 大佬有话说 :
不错~~~用了这个就不用SERVER酱了。搭在自己主机就i行了
zhongziso 大佬有话说 :
mark
silence 大佬有话说 :
绑定,研究一下怎么用
嗷嗷 大佬有话说 :
战略性马克
suichang 大佬有话说 :
不错