Google App Script(GAS)でスプレッドシートを使ってトピックを作る
Google App Script(GAS)でスプレッドシートを使ってトピックを作成します。
前回の記事では、スクリプトに書き込んだ複数の「トピック」を連続して作成する手順をご紹介しました。
「Google App Script(GAS)でGoogle Classroomに連続でトピックを作る」
しかし、「トピック」のタイトルが長くなってくると、スクリプトに書きにくかったり、スクリプト自体を管理しづらくなる可能性があります。
そこで今回は、スプレッドシートに入力した「トピック」名から、GASを使って「トピック」を作成する手順をご紹介します。
スプレッドシートを使ったトピックの作成手順
1.新規でスプレッドシートを作成します。タイトルは任意です。1行目に「トピック名」のタイトル、2行目以降に各トピックのトピック名を入力します。前回の記事でも書いたように、スクリプトの作成順とクラスでの表示は順番が逆になりますので注意します。今回は、クラスで「第1週」から表示されるように、「第7週」から作成しています。
2. スプレッドシートが完成したら、「id」を確認します。以下のように、スプレッドシートのURLにある「/d/」の後から「/edit」の手前までの赤枠の部分が、スプレッドシートのIdです。
3. GASのエディターを開き、「ファイルの追加」をして、以下のスクリプトを入力します。
エディターについてはこちらの記事を参照してください。「Google ClassroomをGoogle App Script(GAS)で操作する」
2行目の「courseId」にトピックを作成するクラスの「courseId」を入力します。3行目カッコ内の「Id」にスプレッドシートの「Id」を入力します。
対象クラスの「courseId」の確認方法はこちら
「Google App Script(GAS)でクラスの courseIdを確認する方法」
function createTopicSpreadsheet() {
var courseId = 'courseId';
var sheet = SpreadsheetApp.openById('Id');
var values = sheet.getDataRange().getValues();
values.shift();
var array = values.flat();
for (var i in array) {
var topic = {
name: array[i]
}
var topic = Classroom.Courses.Topics.create(topic, courseId);
Logger.log('Topic created: %s (%s)', topic.name, topic.topicId)
}
}
3. 入力したら「保存」ボタンで保存し、「実行」ボタンで実行します。「Ctrl (MacはCommand) + S」で保存し、「Ctrl(Command) + R」で実行できます。
4. 正常に終了すると、実行ログに「実行完了」と表示されます。「Topic created」の右側のカッコ内には、トピック固有の「topicId」が表示されます。控えておくと、この後の作業に利用できます。
5. クラスを開いてみると、トピックが昇順で並んでいることが確認できます。
ちなみに、スプレッドシートに昇順で書いて実行すると、
クラスにはトピックが降順で並びます。
まとめ
スプレッドシートで作成することで、スクリプトがシンプルになる利点があります。また、1つスクリプトがあれば、スプレッドシートのIdを書き換えるだけで、いくつかのパターンにも対応できます。便利に使えますので、ぜひご活用ください。