以下のフォーマットのスプレッドシートを作成し、変更内容を入力。
| Action | Member | Result | |
|---|---|---|---|
| group-1@example.com | add | user-1@example.com | |
| group-1@example.com | remove | user-2@example.com | |
| … |
※Resultセルに値が入っているレコードは無視されるので、空欄にしておく
※[Action]にはaddかremoveを指定
必要な情報を入力後、スプレッドシートの「GAS実行」メニューから実行。
以下のフォーマットのスプレッドシートを作成し、変更内容を入力。
| Action | Member | Result | |
|---|---|---|---|
| group-1@example.com | add | user-1@example.com | |
| group-1@example.com | remove | user-2@example.com | |
| … |
※Resultセルに値が入っているレコードは無視されるので、空欄にしておく
※[Action]にはaddかremoveを指定
必要な情報を入力後、スプレッドシートの「GAS実行」メニューから実行。
| var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
| var sheet = ss.getSheets()[0]; | |
| //実行メニューを作成 | |
| function onOpen() { | |
| var ui = SpreadsheetApp.getUi(); | |
| var menu = ui.createMenu("GAS実行"); | |
| menu.addItem("Googleグループメンバー変更", "modifyGoogleGroupMember"); | |
| menu.addToUi(); | |
| } | |
| function modifyGoogleGroupMember(){ | |
| var lastColum = sheet.getLastColumn(); | |
| var lastRow = sheet.getLastRow(); | |
| var startRow = 2; | |
| var numRows = lastRow - 1; | |
| var dataRange = sheet.getRange(startRow, 1, numRows, lastColum); | |
| var data = dataRange.getValues(); | |
| for (var i = 0; i < data.length; ++i) { | |
| var row = data[i]; | |
| row.rowNumber = i + 2; | |
| //Result列がブランクであれば処理を実行 | |
| if (!row[3]) { | |
| var result = ""; | |
| try | |
| { | |
| if(row[1] == "add") | |
| { | |
| result = AdminDirectory.Members.insert({email: row[2], role: "MEMBER"}, row[0]); | |
| result = "Success"; | |
| }else if(row[1] == "remove") | |
| { | |
| result = AdminDirectory.Members.remove(row[0], row[2]); | |
| result = "Success"; | |
| }else{ | |
| result = "Error:Actionパラメータに誤りがあります。add/removeのいずれかをセットしてください。" | |
| } | |
| }catch(e){ | |
| result = "Error:" + e; | |
| } | |
| //実行結果をResult列にセット | |
| sheet.getRange(row.rowNumber, 4).setValue(result); | |
| } | |
| } | |
| } |