本站文章总数为:165
Search Posts

群晖nas利用企业微信添加免费的通知服务不需域名备案

内容纲要

参考原文链接:https://i4t.com/5396.html

企业微信地址:http://work.weixin.qq.com/ 不需要企业认证,人员100人

添加应用后 进入应用 点击 网页授权及JS-SDK  进行域名认证 域名不备案也可以,不备案的限制是 未进行ICP备案,JS-SDK功能受限

然后下一步 添加 企业可信IP,这样php脚本所在服务器才能成功调用

企业微信需要的三个参数

企业ID CorpID

AgentId

Secret

 

脚本备份

卡片式通知

<?php
//ku0.cc 群晖nas发送告警
$num = $_GET['num'];
$passwd = $_GET['passwd'];
$title = $_GET['title'];
$description = $_GET['description'];
// 声明页面 header
header("Content-type:text/html;charset=utf-8");
// 获取 access_token
function getToken(){
    // 定义 id 和 secret
    $corpid='wwc13*******';//这里填写你的企业 ID
    $corpsecret='f2MBU****asdx***-asd**';//这里填写你刚创建的应用 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_token
function 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' => '1000004',//这里填写你刚创建的应用 AgentId
    'textcard' => array(
        'title' => $title,
        'description' => $description,
        'num' => $num,
        'url' => 'https://www.ku0.cc',  //这里的域名写不写都可以,可以写成群晖nas的域名
        'passwd' => $passwd,
    ),
    'enable_id_trans' => 0,
    'enable_duplicate_check' => 0,
    'duplicate_check_interval' => 1800
);
// 调用发送函数
 echo send(json_encode($postdata));
// echo "$title, $description"
?>

文本形式

<?php
$num = $_GET['num'];
$passwd = $_GET['passwd'];
$content = $_GET['title'];
$msg = $_GET['description'];
$url = $_GET['down.frps.cn'];
function curlPost($url,$data=""){   
    $ch = curl_init();
    $opt = array(
            CURLOPT_URL     => $url,            
            CURLOPT_HEADER  => 0,
            CURLOPT_POST    => 1,
            CURLOPT_POSTFIELDS      => $data,
            CURLOPT_RETURNTRANSFER  => 1,
            CURLOPT_TIMEOUT         => 20
    );
    $ssl = substr($url,0,8) == "https://" ? TRUE : FALSE;
    if ($ssl){
        $opt[CURLOPT_SSL_VERIFYHOST] = 1;
        $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
    }
    curl_setopt_array($ch,$opt);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
$corpid="wwc13*****7c750d";       //企业id
$corpsecret="f2MBU****3NPTHo_****-****_oFTvLk";       //企业secret
$Url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret";
$res = curlPost($Url);
$ACCESS_TOKEN=json_decode($res)->access_token;
$Url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$ACCESS_TOKEN";
$data="{\"touser\":\"@all\",\"msgtype\":\"text\",\"agentid\":1000004,\"text\":{\"content\":\"$content\n$msg$url\"},\"safe\":0}"; //此处ID需要修改,1000004修改为自己应用id
$res = curlPost($Url,$data);
$errmsg=json_decode($res)->errmsg;
if($errmsg==="ok"){
    echo "发送成功!";
}else{
    echo "发送失败,".$errmsg;
}
?>

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注