Foxtable(狐表)用户栏目专家坐堂 → 企业微信获取成员详细列表不成功


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

主题:企业微信获取成员详细列表不成功

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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
企业微信获取成员详细列表不成功  发帖心情 Post By:2019/12/11 0:20:00 [显示全部帖子]

复制帮助中的代码做的

获取成员详情列表


Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token={0}&department_id=1&fetch_child=1&status=0"
Dim
hc As New HttpClient(CExp(ur,Functions.Execute("GetQYAccessToken")))
Dim
jo As JObject = JObject.Parse(hc.GetData())
If
jo("errcode") = "0" Then
    DataTables("Users").DataRows.Clear
    Dim nms() As String = {"userid","name","position","mobile","gender","email","weixinid","avatar","status"} '""
    For Each jt As JToken In jo("userlist")
        Dim dr As DataRow = DataTables("Users").AddNew()
        For Each nm As String In nms
            dr(nm) = jt(nm)
        Next
        If dr("department") IsNot Nothing
            dr("department") = CompressJson(jt("department")).Trim("[","]")
        End If
        If jt("extattr") IsNot Nothing Then
            dr("extattr") = ComPressJson(jt("extattr")
("attrs")).Trim("[","]")
        End If
    Next
    DataTables("Users").Save()

Else

    MessageBox.Show(jo.ToString)

End
If


执行后出来错误提示



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


是哪里不对?


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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
  发帖心情 Post By:2019/12/11 12:42:00 [显示全部帖子]

代码是参照帮助文件里的,企业号的CorpID,管理组的Secret 都已经改成正确了的,参照帮助做的记录用户发的消息是已经成功了的,该部门有应用的可见权限,执行上面的代码时,出来第一个提示是


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

点击确定后再出来这个提示


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

烦请指教!谢谢

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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
  发帖心情 Post By:2019/12/11 13:49:00 [显示全部帖子]

是一个空白的信息


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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
  发帖心情 Post By:2019/12/11 14:01:00 [显示全部帖子]

我按帮助做的接受消息的是成功的,被动回复文字消息也是成功的 奇怪的是这里怎么会空的呢? 其他上传素材,提取成员数据等,都是有这个错误提示

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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
  发帖心情 Post By:2019/12/11 14:23:00 [显示全部帖子]

那我该从哪些地方着手去检查?

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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
  发帖心情 Post By:2019/12/11 15:19:00 [显示全部帖子]

Static CreateTime As Date '记录最近一次生成access_token的时间
Static AccessTocken As String '记录最近一次生成的access_token
Dim CorpID As String=  "wwxxxxx4d4d80b3ad7" '企业号的CorpID
Dim Secret As String = "cTvvENg2cGuQbmWSfFHBGi_bCrKyBtXuignOEnxxxxx" '管理组的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("errcode") Is Nothing Then
        AccessTocken = jo("access_token")
    Else
        MessageBox.show("获取access_token失败,原因:" & vbcrlf & jo.ToString)
    End If
End If
Return AccessTocken


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

企业号的CorpID 用的是这个


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

管理组的Secret  用的是这个地方的


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


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
  发帖心情 Post By:2019/12/11 15:37:00 [显示全部帖子]

可以了 ,我是直接用的示例文件中的代码,谢谢版主

 回到顶部