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

2020-09-01 10:25:08

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

1、关于签名的生成:

  /**   * 签名实现   */  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请求接口,发送钉钉消息

  /**   * 发送钉钉报警   */  $guzzleClent = new GuzzleHttpClient();  $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);
相关文章 大家在看