php封装实现钉钉机器人报警接口的示例代码

时间:2022-03-25 16:35:27

本文主要讲述的是如何通过签名方式实现钉钉机器人报警的功能:

1、关于签名的生成:

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * 签名实现
 */
list($s1, $s2) = explode(' ', microtime());
$timestamp = (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
$secret = '****';
$data = $timestamp . "\n" . $secret;
$signStr = base64_encode(hash_hmac('sha256', $data, $secret,true));
$signStr = utf8_encode(urlencode($signStr));
$webhook = 'https://oapi.dingtalk.com/robot/send?access_token=****';
$webhook .= "&timestamp=$timestamp&sign=$signStr";

2:使用guzzle请求接口,发送钉钉消息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * 发送钉钉报警
 */
$guzzleClent = new \GuzzleHttp\Client();
 
$data = [
  'msgtype' => 'text',
  'text' => [
    'content' => $msg,
  ]
];
 
$res = $guzzleClent->request('POST', $webhook,[
  'headers' => [
    'content-type' => 'application/json'
  ],
  'body' => json_encode($data),
]);
$res = json_decode($res->getBody());
var_dump($res);

到此这篇关于php封装实现钉钉机器人报警接口的示例代码的文章就介绍到这了,更多相关php 钉钉机器人报警接口内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://segmentfault.com/a/1190000023540863