1、前言
钉钉开发基本都是java做应用实例,缺乏.net开发应用实例,尤其是缺乏http://VB.NET。
根据Tiobe发布2019年6月编程语言排行榜,VB.NET还排在c#。我想跟我一样一直用vb.net朋友,很希望找到类似的实例。
2、LINK.ddsdk钉钉类库介绍
为此我根据钉钉官方提供的c#sdk文件,重新改写成http://VB.NET开发的dll类库,方便http://vb.net用户使用。因为改写内容不是很多,主要是实现http://vb.net开发集成应用消息推送这一块。
目前类库大致分类如下部分:
Base一般存放基本使用的类库
Tools:把钉钉调用的主类库DingTalkClient,放在此。相关钉钉的调用,都需要调用此类库。
Other:暂时不好分类的类库放在此文件夹
Request:对于发起请求的相关类库,放在此
Response:对于请求响应的相关类库,放在此
后期存在类库调整。
3、实例引用说明
Dim req As LINK.ddsdk.Request.DingTalkMessageSendRequest = New DingTalkMessageSendRequest()
req.Msgtype = "oa"
req.AgentId = "AgentId" '更改钉钉应用id
req.UseridList = "userid"'用户id
req.ToAllUser = False
Dim json_req = New With {
Key .head = New With {
Key .text = "推送消息"},
Key .body = New With {
Key .content = txt_content.Text
}
}
Dim strMsg As String = JsonConvert.SerializeObject(json_req) '
req.Msgcontent = strMsg
Dim strappkey As String = AppConfigInfo.Appkey()
Dim strappsecret As String = AppConfigInfo.AppSecret()
Dim client As New DingTalkClient("https://eco.taobao.com/router/rest", strappkey, strappsecret)
client.Execute(req)
实例代码一些说明:
req是定义好的request相关类库,传递给钉钉相关信息
属性介绍:
msgtype:消息递送,默认选择OA,其他可以text文本
Agentid:是指钉钉应用ID
userlist: 用户id,如果存在多个应用Id,可以用逗号间隔
toalluser:发送给全体人员,默认改为false,不发送。
json_req:推送的一组消息信息的键值集合。最早的信息内容是输入成
Dim strMsg As String = "{""head"": {""text"": ""推送消息""},""body"": {""content"": """ + TextBox1.Text + """}}"
看上并没有不直观,为此我改写了下
Dim json_req = New With {
Key .head = New With {
Key .text = "推送消息"},
Key .body = New With {
Key .content = txt_content.Text
}
}
通过 JsonConvert.SerializeObject进行json转化。上述代码,就可以很直观的看到消息的键值结构,方便我们调用。
具体的demo,我放在github,有需要的可以下载使用,下载的朋友,希望帮忙点个赞。