关于VB.NET推送企业微信消息实例
Public Class Form1
Dim url As String
Dim TokenStr As String
Dim rs As String
Dim Str1 As String
Dim Str2 As String
Dim CorpID As String = "ww2c48191ea2a8cc5e" '你的企业ID
Dim Secret As String = "H6IBaJAAGROUAi6Wsi1FTwTMo1epVcXdtXea-QRxmbE" '你的Secret
Const SendText As String = "{""touser"": ""成员ID"",""toparty"": ""部门ID"",""totag"": ""标签ID"",""msgtype"": ""text"",""agentid"": 应用ID,""text"" : { ""content"": ""消息内容""},""safe"":0}"
Const ErrCode As String = """errcode"":0,""errmsg"":""ok"""
'使用方法:创建一个Button1,替换你的企业ID,Secret,应用ID,用户ID或@all
Function Token(ByVal CorpID As String, ByVal Secret As String) As String
'获取Token 提醒一天只能获取 2000次,最好获取后保存方便调用
Dim http
http = CreateObject("MSXML2.ServerXMLHTTP")
url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" & CorpID & "&corpsecret=" & Secret & ""
http.Open("get", url, False) 'post get 都可以
http.send("")
If http.Status = 200 Then
Token = http.responseText
Else
Token = Nothing
End If
Debug.Print(Token)
'返回信息里面分解
If InStr(Token, "access_token") > 1 Then
Token = Split(Token, ",")(2)
Token = Split(Token, ":")(1)
Token = Replace(Token, """", "")
Else
Token = ""
End If
'Label1.Text = Token
End Function
Function SendMsg(ByVal Str1 As String) As String
'发消息
Dim http
TokenStr = Token(CorpID, Secret) '获取Token
http = CreateObject("MSXML2.ServerXMLHTTP")
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" & TokenStr & ""
http.Open("Post", Url, False)
http.send(Str1)
rs = http.responseText '返回值
If http.Status = 200 Then
Str2 = http.responseText
End If
If InStr(Str2, ErrCode) = 0 Then MsgBox("错误信息:>>>" & rs & "<<<")
SendMsg = Nothing
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If MsgBox("确认发送企微消息吗?", vbYesNo, "请选择") = vbYes Then
Str1 = Replace(SendText, "成员ID", "@all") '#给单个人发送,就写用户ID
Str1 = Replace(Str1, "部门ID", "@all")
Str1 = Replace(Str1, "标签ID", "@all")
Str1 = Replace(Str1, "应用ID", "1000002") '你的应用ID
Str1 = Replace(Str1, "消息内容", "恭喜发财VB.net")
'发送消息
Str1 = SendMsg(Str1)
End If
MsgBox("发送完成,请检查是否收到消息")
End Sub
End Class
代码来源网络,仅部分修改,方便面向csdn编程用户使用。