网站开发的流程和步骤是什么,公众号菜单跳转网页怎么制作,wordpress访问密码保护文章,网站建设还流行吗钉钉作为企业办公越来越常用的软件#xff0c;对于企业内部自研系统提供接口支持#xff0c;以此来打通多平台下的数据#xff0c;本次先使用最简单的钉钉群机器人完成多种形式的消息推送#xff0c;参考钉钉开发文档中自定义机器人环节#xff0c;此次尝试所花的时间不多… 钉钉作为企业办公越来越常用的软件对于企业内部自研系统提供接口支持以此来打通多平台下的数据本次先使用最简单的钉钉群机器人完成多种形式的消息推送参考钉钉开发文档中自定义机器人环节此次尝试所花的时间不多但有几个地方是需要注意的。 一、钉钉群中建立机器人获取WebHook地址 首先得有一个钉钉群如果没有得自行创建一个了通过群内右上角菜单中找到群机器人然后添加一个自定义机器人 并设置消息推送开启(默认是开启)复制下一行的webhook地址该地址将作为后面消息推送的地址 完成即可如果不确定该地址是否有效可以用命令测试一下比如在Linux平台下通过该命令并将自己的webhook_token替换然后回车进行测试即刻收到群机器人推送的消息 二、参考文档完成基础类的封装并处理相关字段 接下来开始在代码中完成对WebHook地址的调用可以先分析一下群机器人的文档可以获悉有五种消息类型文本 (text)、连接 (link)、markdown (markdown)、ActionCard、FeedCard消息类型其中的actionCard分整体和独立两类。针对这些类型及给出的参数要求完成基础类的设计和封装以text类型为例 其中的msgtype是五种消息类型的字符串因此针对该部分设计一个枚举作为消息类型的区分。 设计一个text类并给定一个属性Content在设计时我们喜欢使用帕斯卡命名法但是钉钉接口却不允许如果不做一些处理直接使用Content属性将会调用不通接口这点需要注意使用Newtonjson提供的打包成json时用指定的名称替换来满足钉钉接口需求。 其次对指定人群做一个类的封装同样需要处理其中的属性在序列化时的替换名称。 通过分析五种消息类型其中的一些参数可以完成共用对自定义钉钉机器人文档的一系列挖掘后确定了这几个类和枚举 接下来可以完成对机器人调用了并使用不同消息类型推送到钉钉群中。 三、完成对钉钉群机器人的调用 首先在ConfigureService方法中完成对HttpClientFactory的注入 本次直接在Asp.Net Core WebApi下完成机器人的调用新建一个DingTalk的控制器然后完成对IHttpClientFactory的注入工作便开始接下来的服务调用了对于钉钉的WebHook_Token的存放可以选择配置文件或是如果只是尝试可以直接用一个变量保存即可。 再次以text文本为例并完成文本消息的推送建立一个action用来发送文本消息在其中完成对钉钉接口需要参数的组装工作最终使用统一的发送方法完成消息推送。 对于发送方法内需要根据钉钉文档的一些要求完成设计如文档指明需要使用Post提交请求并使用UTF8编码我直接在控制器内新建了一个方法(尽管不太合理)首先对内容进行序列化并封装然后通过HttpClientFactory新建client并完成发送消息。启动程序并通过url访问控制器内的相应方法完成消息推送注意各属性的命名方式或通过特性转换后的命名方式需要满足钉钉接口文档(文档中FeedCard类型后两个参数不太标准)。 仓库地址https://gitee.com/530521314/koInstance/tree/master/src/koInstance.WebApi原文地址https://www.cnblogs.com/CKExp/p/10416897.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com