2015-03-18 51 views
2

我使用Google Admin SDK創建,更新和刪除郵件列表(又名羣組)。Google Directory API - 批量向羣組添加成員

目前爲止一切正常,我可以創建一個新組並向其添加成員。但是:每個成員的添加大約需要1秒,所以我正在考慮一次批量添加多個用戶的批量請求。

在Google管理界面中,很容易一次添加多個用戶,但我沒有找到任何通過API實現的方法。

有沒有辦法做到這一點或我必須循環每個用戶?


這工作,但需要大量的時間,如果我一定要做到爲每一個用戶:

$service = new Google_Service_Directory($this->getGoogleClient()); 

    $user = new Google_Service_Directory_Member(); 
    $user->setEmail('[email protected]'); 
    $user->setRole('MEMBER'); 
    $user->setType('USER'); 

    $service->members->insert($group_id, $user); 

回答

2

終於讓我找到我自己的解決方案:管理SDK帶有一個批次類:)

爲了獲得工作這些步驟一批請求是必須的:

當啓動一個在谷歌客戶以下行添加到代碼

$client->setUseBatch(true); 

,那麼你可以開始分批對象

$batch = new Google_Http_Batch($client); 

在上面貼的代碼稍加修改使我這個代碼

foreach($arr_users as $user) 
    { 
      $userdata = new Google_Service_Directory_Member(); 
      $userdata->setEmail($user); 
      $userdata->setRole('MEMBER'); 
      $userdata->setType('USER'); 
      $batch->add($service->members->insert($temp_list_name, $userdata)); 
    } 

最後,你必須執行其完成請求按此線路:

$client->execute($batch); 

這就是全部它完美的作品

相關問題