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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM