phpclass

  企业微信可以通过部门列表获取部门下的员工信息,从而获取到员工的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);

 

分类:

技术点:

相关文章:

  • 2021-12-05
  • 2021-12-05
  • 2021-12-26
  • 2022-01-21
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-18
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
相关资源
相似解决方案