* adjust for feishu.

This commit is contained in:
wangyidong
2021-02-19 10:19:51 +08:00
committed by Yagami
parent 92251d2d0e
commit e3c57cbb2d
+32 -1
View File
@@ -59,6 +59,7 @@ class feishuapi
$users = array();
$depts = $this->getDepts();
/* Get users by dept. */
foreach($depts as $deptID => $count)
{
if($deptID and empty($count)) continue;
@@ -77,6 +78,20 @@ class feishuapi
}
}
/* Get users in root. */
$pageToken = '';
while(true)
{
$response = $this->queryAPI($this->apiUrl . "contact/v3/users" . ($pageToken ? "?page_token={$pageToken}" : ''), '', array(CURLOPT_CUSTOMREQUEST => "GET"));
if(isset($response->data->items))
{
foreach($response->data->items as $user) $users[$user->name] = $user->open_id;
}
if(!isset($response->data->page_token)) break;
$pageToken = $response->data->page_token;
}
return array('result' => 'success', 'data' => $users);
}
@@ -90,7 +105,9 @@ class feishuapi
{
set_time_limit(0);
$depts = array('0' => '0');
$depts = array('0' => '0');
/* Get depts by parent dept. */
$pageToken = '';
while(true)
{
@@ -104,6 +121,20 @@ class feishuapi
$pageToken = $response->data->page_token;
}
/* Get depts by root. */
$pageToken = '';
while(true)
{
$response = $this->queryAPI($this->apiUrl . "contact/v3/departments?fetch_child=true" . ($pageToken ? "&page_token={$pageToken}" : ''), '', array(CURLOPT_CUSTOMREQUEST => "GET"));
if(isset($response->data->items))
{
foreach($response->data->items as $dept) $depts[$dept->open_department_id] = $dept->member_count;
}
if(!isset($response->data->page_token)) break;
$pageToken = $response->data->page_token;
}
return $depts;
}