PHP接入釘釘機器人報警

首先在釘釘羣設置裏面增加機器人

具體可參考文章:https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi

PHP訪問

如果設置的敏感詞,那麼發送的消息中必須含有敏感詞,纔可以成功發送
如果設置了驗籤,那麼必須要計算簽名纔可以發送
下面是驗籤方式的代碼

<?php

$url = 'webhook地址';
// 第一步,把timestamp+"\n"+密鑰當做簽名字符串,使用HmacSHA256算法計算簽名,然後進行Base64 encode,最後再把簽名參數再進行urlEncode,得到最終的簽名(需要使用UTF-8字符集)。
$time = time() *1000;//毫秒級時間戳,我這裏爲了方便,直接把時間*1000了
$secret = '這是密鑰';
$sign = hash_hmac('sha256', $time . "\n" . $secret,$secret,true);
$sign = base64_encode($sign);
$sign = urlencode($sign);
$msg = [
    'msgtype' => 'text',//這是文件發送類型,可以根據需求調整
    'text'    => [
        'content' => '這是需要發送的內容',
    ],
];
$url = "{$url}&timestamp={$time}&sign={$sign}";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($msg));
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($curl);
curl_close($curl);
var_dump($res);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章