再建一个网页,如login.htm,内容如下:可通过code获取userid
If e.cookies.ContainsKey("code") Then
code = e.cookies("code")
Dim CorpId As String= "*****"
Dim url As String = "https://oapi.dingtalk.com/user/getuserinfo?access_token={0}&code={1}"
Dim hc As New HttpClient(CExp(url,Functions.Execute("GetAccessToken"),code))
Dim ret As String = hc.GetData()
If ret = "" Then '如果失败,再尝试一次
hc.GetData()
End If
Dim jo As JObject = JObject.Parse(ret)
If jo("errcode") = "0" Then
userid = jo("userid")
... '验证代码后跳转
...
Else
With wb.AddMsgPage("","msgpage","获取钉钉用户ID失败","原因:" & vbcrlf & jo("errmsg").ToString)
.icon= "Warn"
End With
e.WriteString(wb.Build)
Return ""
End If
Else
wb.AppendHTML("<script src='http://g.alicdn.com/dingding/open-develop/1.9.0/dingtalk.js'></script>",True) '引入JS-SDK库
wb.AppendHTML("<script src='./lib/jssdk.js'></script>") '引入脚本文件
wb.InsertHTML("<meta http-equiv='Refresh' c>") 刷新获取userid
e.WriteString(wb.Build)
Return ""
End I
[此贴子已经被作者于2018/6/22 10:42:35编辑过]