Webhook 是一个 API 概念,是微服务 API 的使用范式之一,也被成为反向 API,即前端不主动发送请求,完全由后端推送;举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhook 的典型场景。9 i; U* \1 R, v/ |5 ^$ y- a+ X
简单来说,Webhook 就是一个接收 HTTP POST(或GET,PUT,DELETE)的URL,一个实现了 Webhook 的 API 提供商就是在当事件发生的时候会向这个配置好的 URL 发送一条信息,与请求-响应式不同,使用 Webhook 你可以实时接受到变化。
' A; c5 [4 q4 b; j& ` 钉钉的 WebHook 自定义机器人的配置文档:https://ding-doc.dingtalk.com/doc#/serverapi3/iydd5h
8 ]0 q1 O5 R! Z/ y 下载钉钉电脑版,创建一个群,选择智能群助手,添加自定义机器人,然后选择加密方式,这里选标签加密,会生成webhook的地址和秘钥,封装参数发送的代码:1 o7 m, O3 s5 Y/ o- f* f& o
- var client = new RestClient("https://oapi.dingtalk.com/robot/send?access_token=19cb7218ef9fae9669e2f58d8c681267b2f87695de277a62b0ccdaf3579c6019");
- client.Timeout = -1;
- var request = new RestRequest(Method.POST);
- request.AddHeader("Content-Type", "application/json");
- var body = @"{""msgtype"":""text"",""text"":{""content"":""测试 傻逼""}}";
- request.AddParameter("application/json", body, ParameterType.RequestBody);
- IRestResponse response = client.Execute(request);
- Console.WriteLine(response.Content);
|