Foxtable(狐表)用户栏目专家坐堂 → 钉钉接口


  共有11839人关注过本帖平板打印复制链接

主题:钉钉接口

帅哥哟,离线,有人找我吗?
weibu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:5194 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2021/2/25 20:14:00 [只看该作者]

Select Case e.path 
   Case "web"           
Dim token = "token" '必须和设置的Token相同          
Dim signature As String = e.GetValues("signature")
Dim timestamp As String = e.GetValues("timestamp")          
Dim nonce As String = e.GetValues("nonce")
Dim st As New Date(1970,1,1,8,0,0)  
 
Dim r As Row = Tables("conip").Rows(0)  
Dim access_token As String = Functions.Execute("access_token",r("appkey"),r("appsecret"))   

Dim encrypt As String = e.PlainText  
Dim jo As JObject = JObject.Parse(encrypt )
Dim ding As new DingTalkEncryptor("Token", "Token", "CorpId")
Dim res As String = ding.getDecryptMsg(signature , timestamp, nonce , jo("encrypt"))        ' msgbox(res) '显示解密的事件内容
'其它处理
  
 
Dim msg  = ding.getEncryptedMap("success")
Dim po As New JObject           
po("msg_signature") = cstr(msg("msg_signature"))
po("timeStamp") = cstr(msg("timeStamp"))
po("nonce") = cstr(msg("nonce"))
po("encrypt") = cstr(msg("encrypt"))
e.WriteString(po.ToString) '返回success的加密数据    
msgbox(po.ToString) '能正常显示信息

Dim xo As JObject = JObject.Parse(res)
    Select Case xo("EventType")
       Case "org_dept_modify"
   If xo("DeptId") IsNot Nothing Then
For i As Integer = 0 To xo("DeptId").count -1
Dim s As String  =  xo("DeptId")(i)
msgbox(xo("DeptId")(i)) '能正常显示信息

'老师下面蓝色字体代码,我放在按钮上单独测试,是能够执行并更新软件数据,
’但放在这个一整体代码中报错错误所在事件:项目,HttpRequest
详细错误信息:
未将对象引用设置到对象的实例
反复测试了N次,也没找到原因
Dim client As DingTalk.Api.IDingTalkClient = New DingTalk.Api.DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/get")
Dim req As DingTalk.Api.Request.OapiV2DepartmentGetRequest = New DingTalk.Api.Request.OapiV2DepartmentGetRequest()
req.SetHttpMethod("POST")
req.DeptId = s
Dim rsp As DingTalk.Api.Response.OapiV2DepartmentGetResponse = client.Execute(req, access_token)
Dim t As String  = rsp.result.DeptId
Dim dt As DataRow = DataTables("department").SQLFind("outid =  '" & t & "' and companyid =  '" & r("companyid") & "'")
If dt IsNot Nothing Then
        dt("departname") = rsp.result.name
        dt("outparentid") = rsp.result.parentid
        dt("isohas") = True
        dt.Save
End If
Next  
    End If
    End Select  
     
End Select

 回到顶部
总数 81 1 2 3 4 5 6 7 8 9 下一页