?自定义类型机器人文档
验证签名文档
php代码实现方式
$groupId = "https://oapi.dingtalk.com/robot/send?access_token=cf224bd004fb135776f045d3"; //webhook地址
$secret = ""; //加签
$timestamp = time() * 1000; // 注意:时间戳需要转换为毫秒级
$stringToSign = $timestamp . "\n" . $secret;
$signature = hash_hmac('sha256', $stringToSign,$secret, true);
$base64Signature = base64_encode($signature);
$urlEncodedSignature = urlencode($base64Signature);
$messageData = [
'msgtype' => 'text',
'text' => [
'content' => "123asdfsadf",
],
];
$groupId .= "×tamp={$timestamp}&sign={$urlEncodedSignature}";
posturl($groupId,$messageData)
public static function posturl($url, $data = [], $header = [])
{
$data = json_encode($data);
$headerArray = array("Content-type:application/json;charset='utf-8'", "Accept:application/json");
$headerArray = array_merge($headerArray, $header);
$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, $data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headerArray);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
$result = json_decode($output, true);
print_r($result);die;
if(isset($result['code']) && $result['code'] == 0){
return $result;
}else{
$msg = isset($result['msg']) ? $result['msg'] : '调用报错'.$output;
throw new \Exception($msg);
}
}