php企业微信获取员工userid以及打卡信息
企业微信可以通过部门列表获取部门下的员工信息,从而获取到员工的userid
//首先获取需要的access_token
$access_token = json_decode($this->getWork($url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=企业号的corpid&corpsecret=企业号的corpsecret'),true);
//access_token获取后将它放置在缓存里,不能频繁调用gettoken接口,否则会受到频率拦截 access_token有效期是2个小时
Cache::set('access_token',$access_token['access_token'],7200);
public function getWork($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
//获取到access_token之后可以获取当前企业下的部门列表
$department = $this->getWork($url='https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token='.Cache::get('access_token'));
//获取部门下的员工信息(userid)
$simplelist = json_decode($this->getWork($url='https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token='.Cache::get('access_token').'&department_id=18'),true);
//获取到员工的userid后可以进行当前员工的打卡记录查询
$starDate = date('Y-m-01');//当前月份第一天
$endDate = date('Y-m-d');//当前月份
$url = 'https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token='.Cache::get('access_token');
$post['opencheckindatatype']=3;
$post['starttime']= strtotime($starDate);
$post['endtime']= strtotime($endDate);
$post['useridlist']=$simplelist['userlist'][3]['userid'];////员工的userid
$res = $this->request_post($url,json_encode($post));
var_dump($res);
php企业微信获取员工userid以及打卡信息的更多相关文章
- 微信获取用户的openid和详细信息
获取用户的信息的原理,首先用户会点击一个url,这个url会包含一个参数redirect_uri,这个url是指向微信那边的服务器的,然后微信会把这个http请求重定向到redirect_uri,即我 ...
- Spring Security整合企业微信的扫码登录,企微的API震惊到我了
本文代码: https://gitee.com/felord/spring-security-oauth2-tutorial/tree/wwopen/ 现在很多企业都接入了企业微信,作为私域社群工具, ...
- 【详细、开箱即用】.NET企业微信回调配置(数据回调URL和指令回调URL验证)
前言: 前段时间因为公司业务需求,需要将微信小程序与企业微信对接通,也就是把小程序绑定到对应的企业微信账号下,在该企业微信的用户可以将该小程序绑定到工作台中,然后可以在工作台中打开该小程序并授权.不过 ...
- zabbix使用企业微信发送告警信息
用qq邮箱发送告警信息一点都不方便,看到网上说也可以使用微信发送告警信息,所以就试了一下. 首先先试着在虚拟主机上给微信发送信息. 我们需要注册企业微信,注册时有一个地方需要注意,就是注册时选择组织, ...
- zabbix企业微信报警实现
企业微信配置 # 注册 企业微信注册地址:https://work.weixin.qq.com 笔者注册的企业微信名称为 5iik # 配置 # 在主干5iik(企业名称)下添加子部门(监控组),并将 ...
- 工作小记:企业微信 嵌H5页面 用户权限获取匹配
一.背景 领导让研究一个活儿:企业微信开发H5应用,微信端客户进入H5页面跟现有的Web系统打通用户权限.通俗的讲:嵌入企业微信H5页面,客户点进去按原权限加载内容.开发者中心有文档,附上两个关键链接 ...
- 企业微信开发之向员工付款(C#)
一.企业微信API 地址:http://work.weixin.qq.com/api/doc#11545 二.参数说明 1.向员工付款 请求方式:POST(HTTPS)请求地址:https://api ...
- 微信获取企业token流程
1.获取服务商Accesstoken(每10分钟企业微信会推送一次,两个小时后过期) 2.根据suitid.accesstoken.第三方企业corpid.第三方企业permanentcode,得到第 ...
- 企业微信自建应用移动端动态获取li并给其事件问题总结
前段时间一个项目增加企业微信移动端应用,其中几个小功能用到ul-li列表点击并获得相应数据: 开始用var lis=$('#ul li'); for(var=i;i<lis.length;i++ ...
随机推荐
- 电脑修改密码后,git push 报错unable to access
电脑修改密码后,git push 时报错 remote: Permission to xxx A. fatal: unable to access 解决这个问题有两种方法,一种是界面修改,一种是命令 ...
- 修改,编译,GDB调试openjdk8源码(docker环境下)
在上一章<在docker上编译openjdk8>里,我们在docker容器内成功编译了openjdk8的源码,有没有读者朋友产生过这个念头:"能不能修改openjdk源码,构建一 ...
- 使用Spring Boot和RxJava的构建响应式REST API
我不打算解释什么是响应式编程,也不解释为什么要使用它.我希望你已经在其他地方了解过,如果没有,你可以使用Google去搜索它.在本文中,我将告诉您如何使用专门针对Spring Boot和RxJava的 ...
- VSTO之WPF和Winform弹窗
写插件弹窗是肯定要有的,有弹窗才有展示功能的页面啊! 记录一下前段时间遇到的一些弹窗方面的坑,一个个踩过来也是收获颇丰啊! WPF弹窗 最简单的弹窗方式,new一个窗体,然后调用Show方法. Win ...
- Redis是否安装
1.Redis对否安装(安装好了会出现下面对应的代码) [lk@localhost /]$ whereis redis-cli redis-cli: /usr/local/bin/redis-cli ...
- C#中 CS1752无法嵌入互操作类型"OPCServerClass"。请改用适用的接口。
使用C#+VS开发OPC程序是,调用Interop.OPCAutomation中的类时,提示无法嵌入互操作类型"OPCServerClass".请改用适用的接口. 首先说一下它的含 ...
- AMBA——slave的HREADY信号
在前几天的ARM面试中,被问到总线架构,主要是AMBA那一套东西.对于AMBA之前上课学过一点,但很肤浅.为了面试上网查了一下.也看了部分协议补充了一下,但是接触的少,理解的不深入,被问到之前没遇到的 ...
- Micrometer 快速入门
Micrometer为最流行的监控系统提供了一个简单的仪表客户端外观,允许仪表化JVM应用,而无需关心是哪个供应商提供的指标.它的作用和SLF4J类似,只不过它关注的不是Logging(日志),而是a ...
- [Pandas] 01 - A guy based on NumPy
主要搞明白NumPy“为什么快”. 学习资源 Panda 中文 易百教程 远程登录Jupyter笔记本 效率进化 四步效率优化 NumPy 底层进行了不错的优化. %timeit 对于任意语句,它会自 ...
- Basler acA2500-14gm 连接采图报错处理
新购 Basler acA2500-14gm 相机,使用从官方网站下载的 pylon v6 版本连接测试,报错: Type Time Source MessageError 2 ...