main()['accessToken']; require_once env('root_path').'/vendor/dingapi/TopSdk.php'; date_default_timezone_set('Asia/Shanghai'); $c = new \DingTalkClient(\DingTalkConstant::$CALL_TYPE_OAPI, \DingTalkConstant::$METHOD_POST , \DingTalkConstant::$FORMAT_JSON); return array('obj'=>$c,'access_token'=>$access_token); } /** * 获取部门列表 * * @Apidoc\Method("POST") * @Apidoc\Param("parent_id", type="string",require=true, desc="父部门ID") */ public function get_department(){ $parent_id = input('parent_id'); $obj = $this->get_obj(); $c = $obj['obj']; $req = new \OapiV2DepartmentListsubRequest; $req->setDeptId($parent_id); $resp = $c->execute($req, $obj['access_token'], "https://oapi.dingtalk.com/topapi/v2/department/listsub"); p($resp);exit; } /** * 获取部门详情 * * @Apidoc\Method("POST") * @Apidoc\Param("dept_id", type="string",require=true, desc="部门ID") */ public function get_department_name(){ $dept_id = input('dept_id'); $obj = $this->get_obj(); $c = $obj['obj']; $req = new \OapiV2DepartmentListsubRequest; $req->setDeptId($dept_id); $resp = $c->execute($req, $obj['access_token'], "https://oapi.dingtalk.com/topapi/v2/department/get"); p($resp);exit; $name = ''; if(isset($resp->result) && $resp->result){ $name = $resp->result->name; } return $name; } /** * 获取部门用户详情 * * @Apidoc\Method("POST") * @Apidoc\Param("dept_id", type="string",require=true, desc="部门ID") */ public function get_user_list(){ $dept_id = input('dept_id'); $obj = $this->get_obj(); $c = $obj['obj']; $req = new \OapiV2UserListRequest; $req->setDeptId($dept_id); $req->setCursor("0"); $req->setSize("100"); $resp = $c->execute($req, $obj['access_token'], "https://oapi.dingtalk.com/topapi/v2/user/list"); p($resp);exit; $user_list = array(); if(isset($resp->result) && $resp->result && $resp->result->list){ $user_list = $resp->result->list; } return $user_list; } /** * 查询用户详情 * * @Apidoc\Method("POST") * @Apidoc\Param("userid", type="string",require=true, desc="用户的userId") */ public function get_users(){ $userid = input('userid'); $obj = $this->get_obj(); $c = $obj['obj']; $req = new \OapiV2UserGetRequest; $req->setUserid($userid); $resp = $c->execute($req, $obj['access_token'], "https://oapi.dingtalk.com/topapi/v2/user/get"); if($resp->errcode == 0){ p('123465'); } p($resp->errcode); p($resp->errmsg); p($resp->result); p($resp);exit; } public function get_user($userid){ $obj = $this->get_obj(); $c = $obj['obj']; $req = new \OapiV2UserGetRequest; $req->setUserid($userid); $resp = $c->execute($req, $obj['access_token'], "https://oapi.dingtalk.com/topapi/v2/user/get"); if($resp->errcode == 0){ return $resp->result; } } //获取用户列表 public function get_member(){ $list = User::select(); $data = array_column($list->toArray(), null, 'userid'); $array = []; foreach ($list as $value){ $array[] = $this->get_user($value['userid']); } p($array); p($data); } // 通过免登码获取用户信息 public function get_user_info($code){ $obj = $this->get_obj(); $c = $obj['obj']; $req = new \OapiV2UserGetuserinfoRequest; $req->setCode($code); $resp = $c->execute($req, $obj['access_token'], "https://oapi.dingtalk.com/topapi/v2/user/getuserinfo"); p($resp);exit(); $user_info = array(); if(isset($resp->result) && $resp->result){ $user_info = $resp->result->dept_id_list; } return $user_info; } }