Google App Script(GAS)でGoogle Classroomに連続でトピックを作る

Google App Script 連続でトピック作成 昇順

Google App Script(GAS)でGoogle Classroomに連続でトピックを作成します。

前回の記事で、トピックを1つだけ作る方法をご紹介しました。

Google App Script(GAS)で Google Classroom にトピックを作る

実際の作業では、複数のトピックを作成する機会が多いと思います。では、複数のトピックを連続して作成する方法をご紹介します。

連続でトピックを作成する手順

1. GASのエディターに「ファイルを追加」ボタンから新しいファイルを追加します。以下のスクリプトを入力します。

エディターについてはこちらの記事を参照してください。「Google ClassroomをGoogle App Script(GAS)で操作する

ポイントは、トピックの並び順です。スクリプトは左から実行されますので、2行目にある「第3週」のトピックが最初に作成され、「第2週」、「第1週」の順に作成されます。

一方で、クラスルームでは新しく作られた物が一番上に表示され、次に作成されると、最初のものは下にずれていきます。結果としてクラスでの表示は「第1週」が一番上になり、「第3週」は一番下に表示されます。

スクリプトに書いた順と、クラスに表示される順は反対になりますので注意しましょう。後から手で動かせば問題になりませんが、効率的に作業を進めるには気をつけなくてはならない点です。

7行目の「courseId」は、トピックを作成するクラスの「courseId」を入力します。ご不明な場合には、以下の記事を参照して確認してください。

Google App Script(GAS)でクラスの courseIdを確認する方法

function createTopicContinue() {
    var array = ['第3週', '第2週', '第1週']
    for (var i in array) {
        var topic = {
            name: array[i]
        }
        Classroom.Courses.Topics.create(topic, 'courseId');
        Logger.log('Topic created: %s (%s)', topic.name, topic.topicId)
    }
}

2. 入力したら「保存」ボタンで保存し、「実行」ボタンで実行します。ショートカットキー「Ctrl (MacはCommand) + S」で保存し、「Ctrl (MacはCommand) + R」で実行できます。

本来はここでトピックの固有のid(topicId)を確認したいのですが、また別の方法をご紹介します。

Google App Script create topic 実行ログ

3. クラスを開きます。トピックが昇順に作成されているのが確認できます。

Google App Script 連続でトピック作成 昇順

4. スクリプトの順番を「第1週」からにすれば、クラスでは降順でトピックが作成されます。

Google App Script 連続でトピック作成 降順

まとめ

今回は、複数のトピックを連続して作成する方法をご紹介しました。このあたりになると、GASで作成するメリットを実感できるのではないでしょうか。手動では、誤操作、誤入力などで手戻りが発生することがありますが、GASならばスクリプトが正しく書けていると数秒で作業が完了します。

ただ、トピック名が少し長くなると、今回のスクリプトでは不都合が出てくるかもしれません。そんなケースに対応するため、次回はスプレッドシートに入力したトピックをGASを使って作成したいと思います。ご期待ください。

参考: Google Classroom API リファレンス