このサンプルでは、Directory API を使った、Google Workspace for Education ドメインの管理についてGoogle Apps Script のコードを記載しています。
Google Workspace for Education のグループ、Chromebook デバイスの情報を取得するサンプルを紹介します。
ここで扱うサンプル ソースコードは  こちら(github.com) からダウンロードできます。

グループ操作

グループ一覧の取得
グループを取得する ※スプレッドシートをコピーする Google アカウントが必要です

グループの一覧を取得します。

/**
* グループ一覧の取得
*/
function getGroupList() {

  // シート名を指定してスプレッドシート を取得
  let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = spreadsheet.getSheetByName('Group');

  // シート内のコンテンツをクリア
  sheet.getDataRange().clear();

  // 1行目 - ヘッダー出力
  let line = [
    'id',
    'email',
    'name',
    'description',
    'directMemberCount',
    'kind',
  ];
  let range = sheet.getRange(2, 1, 1, line.length);
  range.setValues([line]);

  // 自ドメインを指定
  let param = {
    'customer': 'my_customer',
    'maxResulsts': 200,
  };

  // グループ一覧を取得
  let response = AdminDirectory.Groups.list(param);
  if ( response ) {

    // レスポンスからグループ一覧を取得
    let groupList = response.groups;

    if (groupList) {

      for (let listIndex=0; listIndex<groupList.length; listIndex++) {
        // 結果をシートに出力
        line = [
          groupList[listIndex].id, // グループID
          groupList[listIndex].email, // メールアドレス
          groupList[listIndex].name, // グループ名
          groupList[listIndex].description, // 説明
          groupList[listIndex].directMemberCount, // 直接のメンバー数
          groupList[listIndex].kind, // タイプ
        ];
        range = sheet.getRange(3+listIndex, 1, 1, line.length);
        range.setValues([line]);
      }
    }
  }
}

AdminDirectory.Groups.list メソッドを呼び出します。パラメータとして、[customer] = [my_customer]を指定すると、自ドメインの情報が取得できます。

ChromeOS デバイス操作

デバイス一覧の取得
デバイス一覧を取得する ※スプレッドシートをコピーする Google アカウントが必要です

Directory API を使用して、ChromeOS デバイスの一覧を取得します。

/**
* ChromeOSデバイス一覧の取得
*/
function getChromeList() {

  // シート名を指定してスプレッドシートを取得
  let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = spreadsheet.getSheetByName('ChromeOS');

  // シート内のコンテンツをクリア
  sheet.getDataRange().clear();

  // 1行目 - ヘッダー出力
  let line = [
    'deviceId',
    'serialNumber',
    'status',
    'model',
    'osVersion',
    'macAddress',
    'orgUnitPath',
  ];
  let range = sheet.getRange(2, 1, 1, line.length);
  range.setValues([line]);

  let param = {
    'maxResulsts': 9999,
  };

  // ChromeOSデバイス一覧を取得
  let response = AdminDirectory.Chromeosdevices.list ('my_customer', param);
  if (response) {

    // レスポンスからChromeOSデバイス一覧を取得
    let chromeList = response.chromeosdevices;
    if ( chromeList ) {

      for (let listIndex=0; listIndex<chromeList.length; listIndex++) {
        // 結果をシートに出力
        line = [
          chromeList[listIndex].deviceId, // デバイスID
          chromeList[listIndex].serialNumber, // シリアル番号
          chromeList[listIndex].status, // ステータス
          chromeList[listIndex].model, // モデル情報
          chromeList[listIndex].osVersion, // オペレーティングシステムのバージョン
          chromeList[listIndex].macAddress, // ワイヤレスMACアドレス
          chromeList[listIndex].orgUnitPath, // 組織単位
        ];
        range = sheet.getRange(3+listIndex, 1, 1, line.length);
        range.setValues([line]);
      }
    }
  }
}

AdminDirectory.Chromeosdevices.list メソッドを呼び出します。パラメータとして[my_customer]を指定すると、自ドメインの情報が取得できます。