Foxtable(狐表)用户栏目专家坐堂 → 获取Accesstoken函数修改


  共有2976人关注过本帖树形打印复制链接

主题:获取Accesstoken函数修改

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


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
获取Accesstoken函数修改  发帖心情 Post By:2020/4/27 22:35:00 [显示全部帖子]

Static CreateTime As Date '记录最近一次生成access_token的时间
Static
 AccessTocken As String '记录最近一次生成的access_token
Dim
 CorpID As String=  "ww7deed3af842576ed" '企业号的CorpID
Dim
 Secret As String = "sO7RjwoisX82kB_gcRY4isEU8ZC6sJVcGs6CDlz8Nkc" '管理组的Secret
Dim
 tp As TimeSpan = Date.Now - CreateTime
If
 tp.TotalSeconds > 3600 Then
    Dim url As String = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}"
    Dim hc As New HttpClient(CExp(url, CorpID, Secret))
    Dim ret As String = hc.GetData()
    If ret = "" Then '
如果失败,再尝试一次
        hc.GetData()
    End If
    CreateTime = Date.Now()
    Dim jo As JObject = JObject.Parse(ret)
    If jo("access_token"IsNot Nothing Then
        
AccessTocken = jo("access_token")
    Else
        MessageBox.show("获取access_token失败,原因:" & vbcrlf & jo.ToString)
    End If

End
 If
Return
 AccessTocken


帮助中的这个函数能正常使用。  想咨询下,如果我有多个 管理组需要实现信息推送的功能, 这段代码需要怎么修改

 回到顶部
帅哥哟,离线,有人找我吗?
ifox2018
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2020/4/28 10:21:00 [显示全部帖子]

  dict.Add(Secret,{CreateTime ,jo("access_token")})

提示错误:“   编译错误: 应为表达式  ”

 回到顶部
帅哥哟,离线,有人找我吗?
ifox2018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2020/4/28 13:35:00 [显示全部帖子]

图片点击可在新窗口打开查看 还是错误
编译错误  :   应为逗号,“)”或有效的表达式继续符

 回到顶部
帅哥哟,离线,有人找我吗?
ifox2018
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2020/4/28 21:18:00 [显示全部帖子]

这个语句不报错 
 但AccessTocken = jo("access_token")   报错.  在顶部加了句  Static AccessTocken As String   不报错. 
但 调用那边该怎么写  ,下面语句提示找不到自定义函数   图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

Dim access_token As String = Functions.Execute("GetAccessToken","wwa7fc2a99dcafb796","hynxRetmbqj38i4eL6Hx4mqo9DEdKNehieDhzzDdG88")


Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}"
'Dim hc As new HttpClient(Cexp(ur,Functions.Execute("GetQYAccessToken")))
Dim hc As new HttpClient(Cexp(ur,Functions.Execute("access_token")))

Dim jo As New JObject
'o("touser") = "@all"
jo("msgtype") = "text"
jo("agentid") = 1000011
jo("text") = New JObject
jo("text")("content") = "您好,这是管理软件发送的测试信息"
hc.Content = jo.ToString
jo = JObject.Parse(hc.GetData)
If jo("errcode") = "0" Then
    MessageBox.show("消息发送成功!")
Else
    MessageBox.show(jo.ToString)
End If



 回到顶部
帅哥哟,离线,有人找我吗?
ifox2018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2020/4/29 13:53:00 [显示全部帖子]

使用下面代码报错

Dim access_token As String = Functions.Execute("GetAccessToken","wwa7fc2a99dcafb796","hynxRetmbqj38i4eL6Hx4mqo9DEdKNehieDhzzDdG88")
Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}"
'Dim hc As new HttpClient(Cexp(ur,Functions.Execute("GetQYAccessToken")))
Dim hc As new HttpClient(Cexp(ur,Functions.Execute("access_token")))

Dim jo As New JObject
jo("touser") = "computer"
jo("msgtype") = "text"
jo("agentid") = 1000011
jo("text") = New JObject
jo("text")("content") = "您好,这是管理软件发送的测试信息"
hc.Content = jo.ToString
jo = JObject.Parse(hc.GetData)
If jo("errcode") = "0" Then
    MessageBox.show("消息发送成功!")
Else
    MessageBox.show(jo.ToString)
End If


图片点击可在新窗口打开查看此主题相关图片如下:999.png
图片点击可在新窗口打开查看




 回到顶部
帅哥哟,离线,有人找我吗?
ifox2018
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2020/4/29 16:23:00 [显示全部帖子]

OK.   可正常执行。  感谢
[此贴子已经被作者于2020/4/29 16:32:25编辑过]

 回到顶部