Webhook 是一个 API 概念,是微服务 API 的使用范式之一,也被成为反向 API,即前端不主动发送请求,完全由后端推送;举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhook 的典型场景。; T/ W$ G4 W; a; [
简单来说,Webhook 就是一个接收 HTTP POST(或GET,PUT,DELETE)的URL,一个实现了 Webhook 的 API 提供商就是在当事件发生的时候会向这个配置好的 URL 发送一条信息,与请求-响应式不同,使用 Webhook 你可以实时接受到变化。
% Y2 N1 S7 y* _2 B* ~) Q 钉钉的 WebHook 自定义机器人的配置文档:https://ding-doc.dingtalk.com/doc#/serverapi3/iydd5h" D5 O% a$ p# K% Y; n0 t
下载钉钉电脑版,创建一个群,选择智能群助手,添加自定义机器人,然后选择加密方式,这里选标签加密,会生成webhook的地址和秘钥,封装参数发送的代码:2 w( S9 ~8 `3 j! v# ], h
- 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);
|