学校向けG Suite 導入のノウハウです。前回は教職員・生徒・保護者のグループ作成をプログラミング(Google Apps script, GAS)によって自動化する方法を紹介しました。今回は、この作成したグループに教職員・生徒・保護者のアカウントをプログラミングで追加する方法を紹介します。プログラミングの知識があれば、時間のかかる作業も短時間に行うことができます。プログラミングができる先生は、ぜひ挑戦してみてください。
Googleスプレッドシートの作成
まずはグループに追加したいアカウントを整理したGoogleスプレッドシートを作成します。G Suiteの特権管理者のアカウントもしくはグループの管理権限を持っているアカウントを使って、「Google Groupへの一括アカウント追加サンプル」を参考にスプレッドシートを作成しましょう。
なお、サンプルのスプレッドシートにある「追加/削除」の列に「add」を入れるとグループへの追加が、「remove」を入れるとグループからの削除がプログラムによって行われます。
プログラミング(GAS)を実行するための準備
スプレッドシートが完成したら、「プログラミング(GAS)を実行するための準備」を行う必要があります。前回の記事を参考に設定を行ってください。(G Suite管理画面の「API権限」の設定については、前回行っていれば今回は不要です。)
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);
}
}
}
スクリプトエディタにコードを貼り付けると、次のようになります。この状態で「実行」→「関数を実行」→「onOpen」をクリックしてください。
最初にGASを実行する場合、次のような画面が表示されますので、「許可を確認」をクリックしてください。画面の指示に従って承認していけば大丈夫です。
ここまで終わりましたら、このスクリプトエディタのページは閉じてしまって大丈夫です。
プログラミングの実行
最初のGoogleスプレッドシートのページに戻ると、新しく「GAS実行」というボタンが増えています。ここから「Googleグループメンバー変更」のプログラミング」を実行することができます。
「GAS実行」から「Googleグループメンバー変更」のボタンを押すと、プログラミングが実行されます。無事にグループが作成されると、スプレッドシートの「実行結果」の列にSuccessの文字が書き込まれます。
スプレッドシートの行数が多い場合、プログラムの実行中にタイムアウトで止まってしまう場合があります。その場合は、もう一度「GAS実行」から「Googleグループメンバー変更」のボタンを押せば、続きからプログラムが再開されます。
もし何らかしらのエラーが発生した場合は、「実行結果」の列にエラーメッセージが書き込まれます。プログラミングが失敗した原因を、このエラーメッセージを参考に解決してください。無事に解決できたら、「実行結果」の列のエラーメッセージを削除して、もう一度「GAS実行」から「Googleグループメンバー変更」のボタンを押せばOKです。
One comment
Pingback: 学校向け G Suite 導入の手引き(14)生徒・保護者にGmailのログイン情報を配布 | 福原将之の科学カフェ