Foxtable(狐表)用户栏目专家坐堂 → [求助]读取企业微信打卡数据


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

主题:[求助]读取企业微信打卡数据

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


加好友 发短信
等级:幼狐 帖子:122 积分:1191 威望:0 精华:0 注册:2017/7/15 8:33:00
[求助]读取企业微信打卡数据  发帖心情 Post By:2019/5/18 18:54:00 [只看该作者]

太菜,看不懂API的用法,照葫芦画瓢抄帮助可以正确使用通讯录的部门和成员,但是打卡记录没有帮助,搜索论坛也找不到可以直接使用的代码,抄了一段如下,3天了还是没读出来。。。希望老大能帮下忙

Dim st As New Date(1970,1,1,8,0,0)
Dim t1 As Integer = CInt((Date.Today.AddDays(-100)  - st).TotalSeconds()) '时间戳开始时间
Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳结束时间
Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getapprovaldata?access_token={0}"
Dim hc As New HttpClient(CExp(ur,Functions.Execute("GetQYAccessToken"),1))
Dim jo As New JObject
jo("starttime") = t1
jo("endtime") = t2
jo("opencheckindatatype") = 3 ' 是 打卡类型.1:上下班打卡;2:外出打卡;3:全部打卡
Dim ja As New Jarray '定义数组
ja.Add("用户1")
ja.Add("用户2")
jo("useridlist") = ja

hc.Content = jo.Tostring()
jo = JObject.Parse(hc.GetData)
Dim json As String = jo("data").ToString()
Dim ja As JArray = Jarray.Parse(json)

MessageBox.Show(ja.Tostring)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/19 17:22:00 [只看该作者]

执行到这里,报什么错?

 

Dim st As New Date(1970,1,1,8,0,0)
Dim t1 As Integer = CInt((Date.Today.AddDays(-100)  - st).TotalSeconds()) '时间戳开始时间
Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳结束时间
Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getapprovaldata?access_token={0}"
Dim hc As New HttpClient(CExp(ur,Functions.Execute("GetQYAccessToken"),1))
Dim jo As New JObject
jo("starttime") = t1
jo("endtime") = t2
jo("opencheckindatatype") = 3 ' 是 打卡类型.1:上下班打卡;2:外出打卡;3:全部打卡
Dim ja As New Jarray '定义数组
ja.Add("用户1")
ja.Add("用户2")
jo("useridlist") = ja

hc.Content = jo.Tostring()
output.show(hc.GetData)

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


加好友 发短信
等级:幼狐 帖子:122 积分:1191 威望:0 精华:0 注册:2017/7/15 8:33:00
  发帖心情 Post By:2019/5/20 14:16:00 [只看该作者]

添加附件打不开。。。
提示错误的对话框是:

运行错误
.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2019.4.12.1
错误所在事件:
详细错误信息:
远程服务器返回错误: (404) 未找到。


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


加好友 发短信
等级:小狐 帖子:383 积分:2893 威望:0 精华:0 注册:2015/4/29 11:50:00
  发帖心情 Post By:2019/5/20 14:38:00 [只看该作者]

以下是引用shissx在2019/5/20 14:16:00的发言:
添加附件打不开。。。
提示错误的对话框是:

运行错误
.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2019.4.12.1
错误所在事件:
详细错误信息:
远程服务器返回错误: (404) 未找到。
 
Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token={0}"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/20 14:53:00 [只看该作者]

1、我测试没问题;

 

2、贴出你 Functions.Execute("GetQYAccessToken") 返回的值看看。


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


加好友 发短信
等级:幼狐 帖子:122 积分:1191 威望:0 精华:0 注册:2017/7/15 8:33:00
  发帖心情 Post By:2019/5/20 15:47:00 [只看该作者]

提示错误:
{"errcode":301024,"errmsg":"get checkin data time error, hint: [1558338305_2_b7d868a556eb458841d8441fcb606325], more info at https://open.work.weixin.qq.com/devtool/query?e=301024","checkindata":[]}

[此贴子已经被作者于2019/5/20 16:00:57编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/20 15:53:00 [只看该作者]

  1. 获取记录时间跨度不超过一个月
  2. 用户列表不超过100个。若用户超过100个,请分批获取
  3. 有打卡记录即可获取打卡数据,与当前”打卡应用”是否开启无关

 

https://work.weixin.qq.com/api/wap/doc/index#14630

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/20 15:55:00 [只看该作者]

改成比如

 

Dim st As New Date(1970,1,1,8,0,0)
Dim t1 As Integer = CInt((Date.now.AddMonths(-1)  - st).TotalSeconds()) '时间戳开始时间
Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳结束时间
output.show(t1)
output.show(t2)
 
或者
 
Dim st As New Date(1970,1,1,8,0,0)
Dim t1 As Integer = CInt((Date.now.AddDays(-10)  - st).TotalSeconds()) '时间戳开始时间
Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳结束时间
 
[此贴子已经被作者于2019/5/20 15:55:24编辑过]

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


加好友 发短信
等级:幼狐 帖子:122 积分:1191 威望:0 精华:0 注册:2017/7/15 8:33:00
  发帖心情 Post By:2019/5/20 16:02:00 [只看该作者]

谢谢,问题已经解决!
[此贴子已经被作者于2019/5/20 18:39:26编辑过]

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/11/22 15:13:00 [只看该作者]

Dim st As New Date(1970,1,1,8,0,0)
Dim t1 As Integer = CInt((Date.Today.AddDays(-5)  - st).TotalSeconds()) '时间戳开始时间
Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳结束时间
Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getapprovaldata?access_token={0}"
Dim hc As New HttpClient(CExp(ur,Functions.Execute("GetQYAccessToken1"),1))
Dim jo As New JObject
jo("starttime") = t1
jo("endtime") = t2
jo("opencheckindatatype") = 3 ' 是 打卡类型.1:上下班打卡;2:外出打卡;3:全部打卡
Dim ja As New Jarray '定义数组
ja.Add("sunny")
ja.Add("ShuiXian")
jo("useridlist") = ja

hc.Content = jo.Tostring()
output.show(hc.GetData)

同样的问题:返回404!
怎么解决的?

 回到顶部
总数 18 1 2 下一页