利用飞书每天定时推送网站当天以及本月访问量
前言
飞书真是个好东西,可以利用它给我们推送各种各样的消息。
今天教大家如何推送网站当天以及本月的访问量。
教程
1.首先网站统计需要用umami搭建,不懂的自己网站搜索umami,有教程
2.网站目录下新建一个php文件,并将如下代码添加到其中
<?php
// 设置飞书 Webhook URL
$feishuWebhookUrl = '飞书地址'; // 替换为你的飞书 Webhook URL
// 获取访问数据的函数
function getVisitData($umiToken, $umiId) {
$umiTime = time() * 1000; // 当前时间(毫秒)
$todayStart = strtotime('today') * 1000; // 今日开始时间(毫秒)
$monthStart = strtotime('first day of this month') * 1000; // 本月开始时间(毫秒)
// 获取今日访问量和访问人数
$todayUrl = "https://你的域名/api/websites/{$umiId}/stats?startAt={$todayStart}&endAt={$umiTime}";
$todayData = file_get_contents($todayUrl, false, stream_context_create([
'http' => [
'header' => "Authorization: Bearer {$umiToken}rn" .
"Content-Type: application/jsonrn"
]
]));
$todayData = json_decode($todayData, true);
// 获取本月访问量
$monthUrl = "https://你的域名/api/websites/{$umiId}/stats?startAt={$monthStart}&endAt={$umiTime}";
$monthData = file_get_contents($monthUrl, false, stream_context_create([
'http' => [
'header' => "Authorization: Bearer {$umiToken}rn" .
"Content-Type: application/jsonrn"
]
]));
$monthData = json_decode($monthData, true);
// 返回数据
return [
'todayUv' => $todayData['visitors']['value'] ?? 0,
'todayPv' => $todayData['pageviews']['value'] ?? 0,
'monthPv' => $monthData['pageviews']['value'] ?? 0
];
}
// 设置 UMI Token 和 ID
$umiToken = "你的token"; // 获取到的 token
$umiId = "你的websiteid"; // 获取到的 websiteId
// 获取访问数据
$visitData = getVisitData($umiToken, $umiId);
// 获取当前时间
$currentDateTime = date('Y年m月d日 H:i:s');
// 构建消息内容
$messageContent = sprintf(
"现在是 %s,今天的访问人数为 %d,今天的访问量为 %d,本月的访问量为 %d。",
$currentDateTime,
$visitData['todayUv'],
$visitData['todayPv'],
$visitData['monthPv']
);
// 构建请求参数
$requestData = [
"msg_type" => "text",
"content" => [
"text" => $messageContent
]
];
// 将请求参数转换为 JSON 格式
$jsonData = json_encode($requestData);
// 初始化 cURL
$ch = curl_init($feishuWebhookUrl);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($jsonData)
]);
// 执行请求
$response = curl_exec($ch);
curl_close($ch);
// 输出响应
echo $response;
?>
3.访问飞书官网
4.新建一个机器人,添加流程
5.选择触发器为webhook触发
6.参数填写:{"msg_type":"text","content":{"text":"request example"}}
7.选择操作为发送飞书消息
8.消息内容点击加号,然后选择webhook触发里的content.text
9.宝塔面板计划执行添加定时访问url。
截图
THE END