Foxtable(狐表)用户栏目专家坐堂 → 企业微信问题


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

主题:企业微信问题

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


加好友 发短信
等级:三尾狐 帖子:741 积分:7244 威望:0 精华:0 注册:2015/9/14 14:26:00
企业微信问题  发帖心情 Post By:2021/1/3 16:37:00 [只看该作者]

  Dim UserId As String
        Dim UserName As String
        Dim sb As New StringBuilder
        sb.AppendLine("<meta name='viewport' c>")
        If e.GetValues.ContainsKey("code") Then '如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的UserId
            MessageBox.Show("通过授权链接进入")
            Dim ul As String  = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token={0}&code={1}"
            ul = CExp(ul,Functions.Execute("GetQYAccessToken"),e.GetValues("code"))
            Dim hc As new HttpClient(ul)
            Dim jo As JObject = JObject.Parse(hc.GetData)
            If jo("UserId") IsNot Nothing Then
                UserId = jo("UserId")

程序提示  授权链接进入后  马上报

1、The underlying connection was closed: An unexpected error occurred on a send.
Received an unexpected EOF or 0 bytes from the transport stream.
 
2、Error reading JObject from JsonReader. Path '', line 0, position 0.

 

之前还没事的,哪里出错了吗

 


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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/3 16:39:00 [只看该作者]

估计是GetQYAccessToken出错

            Dim hc As new HttpClient(ul)
dim res as string = hc.GetData
msgbox(res)
            Dim jo As JObject = JObject.Parse(res)

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


加好友 发短信
等级:三尾狐 帖子:741 积分:7244 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/1/3 16:48:00 [只看该作者]

Static CreateTime As Date '记录最近一次生成access_token的时间
Static AccessTocken As String '记录最近一次生成的access_token
Dim CorpID As String=  Vars("qyid") '企业号的CorpID
Dim Secret As String = Vars("yysecret") '管理组的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()
'Dim hc As new HttpClient(ul)
Dim res As String = hc.GetData
msgbox(res)

    If ret = "" Then '如果失败,再尝试一次
        hc.GetData()
    End If
    CreateTime = Date.Now()
    Dim jo As JObject = JObject.Parse(ret)
    If jo("errcode")  IsNot Nothing  Then
        AccessTocken = jo("access_token")
    Else

        Dim dr As Row = Tables("报错").AddNew
        dr("时间") = Date.Now()
        dr("错误信息") = jo.Tostring
        dr("地址") = ret
        '       MessageBox.show("获取access_token失败,原因:" & vbcrlf & jo.ToString)
    End If
End If
Return AccessTocken

 

 

这里没动过,刚刚做了 提示

 


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_16096635805228.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/3 17:13:00 [只看该作者]

If jo("errcode")  IsNot Nothing  Then
改为
If jo("access_token"IsNot Nothing Then


ul = CExp(ul,Functions.Execute("GetQYAccessToken"),e.GetValues("code"))
msgbox(ul)
            Dim hc As new HttpClient(ul)

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


加好友 发短信
等级:三尾狐 帖子:741 积分:7244 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/1/3 18:13:00 [只看该作者]

---------------------------

---------------------------
https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=&code=4gUujiAkQ5lkcpUb60Ji7c86nvsZotN7IDlsCRR4T_o
---------------------------
确定  
---------------------------
 

 

 在命令窗口 执行 有时会报错,意外中断 有时有返回值


此主题相关图片如下:企业微信截图_20210103182343.png
按此在新窗口浏览图片

 
此主题相关图片如下:企业微信截图_20210103182438.png
按此在新窗口浏览图片

access_token 值是正确的

 

好像程序 执行的是  

ElseIf e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接
 MessageBox.Show("1")
            Dim ul As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&agentid={2}&state=STATE#wechat_redirect"
            Dim ul2 As String = UrlEncode(Vars("yyzy"))
            ul = CExp(ul,Vars("qyid"),ul2,Vars("yyid"))

 

            MessageBox.Show(ul)


 


此主题相关图片如下:1.png
按此在新窗口浏览图片

和下面的报错

The underlying connection was closed: An unexpected error occurred on a send.
Received an unexpected EOF or 0 bytes from the transport stream.

[此贴子已经被作者于2021/1/3 20:22:56编辑过]

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/3 20:20:00 [只看该作者]

意外中断应该是微信服务器的问题,或者网络不通

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


加好友 发短信
等级:三尾狐 帖子:741 积分:7244 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/1/3 20:25:00 [只看该作者]

就是跳转到 执行

ElseIf e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接

 

在ie里访问  提示要在企业微信里打开

 

在企业微信里打开 就 会出现


The underlying connection was closed: An unexpected error occurred on a send.
Received an unexpected EOF or 0 bytes from the transport stream.

Error reading JObject from JsonReader. Path '', line 0, position 0.

 

经过报错后  企业微信 停留在

 


此主题相关图片如下:企业微信截图_20210103203346.png
按此在新窗口浏览图片
[此贴子已经被作者于2021/1/3 20:34:39编辑过]

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/3 20:43:00 [只看该作者]

测试电脑是什么操作系统?

试试
Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls11
    Dim hc As New HttpClient(CExp(url, CorpID, Secret))
    Dim ret As String = hc.GetData()

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


加好友 发短信
等级:三尾狐 帖子:741 积分:7244 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/1/3 22:04:00 [只看该作者]

服务器是win2003 ,测试电脑是64 位win10,之前还可以的。关键是我手机访问也这样,不知道发生什么了

我加上后试试 ,辛苦了

 

  Dim url As String = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}"
Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls11

    Dim hc As New HttpClient(CExp(url, CorpID, Secret))
    Dim ret As String = hc.GetData()

加上了 还是一样的效果

我现在换下服务器,换成win2008 r2 的 试试

 

换了服务器 正常了,什么原因呢? 感谢版主耐心指导

[此贴子已经被作者于2021/1/3 22:36:19编辑过]

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/4 8:36:00 [只看该作者]

企业微信加密传输使用的是高版本的Tls协议,xp和2003不支持

 回到顶部