このサンプルでは、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]を指定すると、自ドメインの情報が取得できます。