对于开发者而言,钉钉机器人是全局唯一的应用,每个机器人都有一个唯一id,拿到这个id后,我们无需安装或引用第三方sdk及应用,即可使用。
常见需求场景:
智能群助手
这儿我们选择自定义机器人:
勾选自定义关键词后,发送的时候内容中必须含有关键词才能正常发送。
将 webhook 地址复制出来,获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text","text": {"content":"你好,我是异常消息!"}}'
index.php:
function request_by_curl($remote_server, $post_string) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $remote_server);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_HTTPHEADER, array ('Content-Type: application/json;charset=utf-8'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 线下环境不用开启curl证书验证, 未调通情况可尝试添加该代码
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$webhook = "https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXX";
$message="警告,您的代码出现异常bug!";
$data = array ('msgtype' => 'text','text' => array ('content' => $message));
$data_string = json_encode($data);
$result = request_by_curl($webhook, $data_string);
print_r($result);
结果:
D:\software\phpstudy_pro\WWW>php index.php
{"errcode":0,"errmsg":"ok"}
链接: 钉钉开放文档