我去掉表保存的形式,直接取ticket,也是一样的错误提示。
Dim TicketCreateTime As Date = dr("TicketCreateTime") '记录最近一次生成access_token的时间
Dim Ticket As String
Dim AppId As String= dr("AppId")
Dim AppSecret As String = dr("AppSecret")
Dim tp As TimeSpan = Date.Now - TicketCreateTime
' If tp.TotalSeconds > 3600 Then
Dim url As String = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi"
Dim hc As New HttpClient(CExp(url,Functions.Execute("GetAccessToken",gongsi)))
Dim ret As String = hc.GetData()
If ret = "" Then '如果失败,再尝试一次
hc.GetData()
End If
dr("TicketCreateTime") = Date.Now()
Dim jo As JObject = JObject.Parse(ret)
If jo("errcode") = "0" Then
dr("Ticket") = jo("ticket")
PopMessage("重新获取")
Else
PopMessage("获取jsapi_ticket,原因:" & vbcrlf & jo.ToString)
End If
dr.save()
' End If
' ticket = dr("Ticket")
ticket = jo("ticket")
Dim signature As String = CExp("jsapi_ticket={0}&noncestr={1}×tamp={2}&url={3}",Ticket,args(0),args(1),args(2))
Return Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signature, "SHA1").ToLower()