見出し画像

11. スクリプトでクラスルームに資料(ドライブファイル)を作成する

前回は、スクリプトでクラスルームにリンクを添付して資料を作成する手順をご案内しました。
引き続き資料の作成をご紹介します。ちょっと見てもらいたいもの、参考にしてもらいたいものを配布するのが資料です。
資料には、URLを使ってリンクとして添付するものと、ドキュメント、スプレッドシートなど、Googleドライブに保存したものをドライブファイルとして添付するものがあります。
今回は後者の、ドライブファイルを添付する手順を見ていきましょう。

ドライブファイルを確認しましょう

作業の前提をご説明します。
下の図が、クラスのドライブフォルダです。マイドライブからアクセスできます。ここに、ドキュメント、スプレッドシート、PDFファイルが保存してあります。

クラスのドライブフォルダ

今回は、「第1週ドキュメント資料」というドキュメントを、クラスルームで資料として配布したいと思います。
その際に必要になるのが、ファイルのIDです。スクリプトでは、このIDのドライブファイルを資料に添付しますよ、という指示をします。では、そのIDはどうしたら分かるのでしょうか。
実は簡単に調べられます。例えば上のドライブのドキュメントをダブルクリックで開いたとしましょう。
アドレスバーを見ると以下のようになっています。

ドキュメントのID

黄色くマーカーを引いた部分がファイルのIDです。dのあとの「/」にはさまれた部分です。スプレッドシートも見てみましょう。

スプレッドシートのID

同様に、「/」の間がIDということになります。こちらを控えておきましょう。

ちなみにPDFはどうしたらいいでしょうか。PDFを開いた時に表示されているアドレスは、フォルダのアドレスのまま変わりません。
PDFファイルの右端の三点から「共有」-「リンクをコピー」でリンクを取得できます。右クリックしても同様です。
取得したリンクのURLから上記と同様にファイルIDを確認することもできます。ただし一手間かかりますのでリンクをコピーして、前回ご紹介したリンクから添付する方法で配布していただくのが良いかと思います。

PDFのリンクをコピー

使用するコード

コードは以下の通りです。ファイルのIDのあたりは入り組んでいますので、注意して書き換えてください。

// 資料(driveFile)を作成します
function createCourseMaterialAsDriveFIle() {
  const courseId = "courseId";
  const array = {
    title : "資料(driveFile)の作成",
    description : "スクリプトで資料(driveFile)を作成します。ここに本文を記述します。例:「第1週授業の資料です。」",
    state : "DRAFT",
    materials : [{
      "driveFile" : {
        "driveFile" : {
          "id" : "ファイルのID"
        }
      }
    }],
    topicId : "topicId"
  }
  const coursematerialasdrivefile = Classroom.Courses.CourseWorkMaterials.create(array, courseId);
  Logger.log("courseMaterial created : %s (%s)", coursematerialasdrivefile.title, coursematerialasdrivefile.topicId)
}

フィールドの説明

【3行目】
courseId

作成先クラスルームのコースIDです。3行目の文字列を書き換えます。ダブルコーテーションの間に記述します。
【5行目以降】
title
資料のタイトルです。
description
資料の説明です。本文をここに記述します。
state

資料のステータスです。資料を下書きで作成するには「DRAFT」とします。
「PUBLISHED」とすると作成してすぐに投稿されます。
materials - driveFile - driveFile - id
""内に資料として添付したいファイルのIDを入力します。ダブルコーテーションの間に記述します。(driveFIleが重複していますがミスではありません)
topicId
作成先トピックのトピックIDです。"topicId"の文字列を書き換えます。ダブルコーテーションの間に記述します。

コースID、トピックIDが分からない場合は、以下の記事の手順で調べてみましょう。

スクリプトの追加と実行

さっそく進めていきます。よく確認しながら作業をしましょう。

1.Googleドライブから作成したプロジェクトファイルを開きます。

プロジェクトを開く
プロジェクトを開く

2.左上の「ファイルを追加」-「スクリプト」をクリックします。

ファイルを追加
ファイルを追加
スクリプトを選択
スクリプトを選択

3.名前を変更します。今回は「createCourseMaterialAsDriveFile」です。
長くて申し訳ないですが、分かりやすい名前にしています。ここを間違ってもスクリプトに影響はありませんが、今後作成するスクリプトと名前が重複しないようにだけ、気をつけてください。

名前を変更
名前を変更

4.上のコードをスクリプトの作成画面右側に上書きでコピペします。

コードをコピペ
コードをコピペ

5.上のフィールドの説明を参考に、必要に応じて内容を書き換えます

6.スクリプトを保存して実行します。(実行時に承認を求めるウィンドウが出たら、指示にそって承認します。)

保存して実行
保存して実行

7.実行ログが表示されます。()内はトピックIDです。

実行ログ
実行ログ

実行結果の確認

実行の結果をクラスルームの画面を開いて確認してみましょう。教師の画面と生徒の画面を用意しました。黄色のマーカーを引いているところが、スクリプトで入力した箇所です。
ドキュメントがしっかり添付されています。

教師の画面

教師の画面

生徒の画面

生徒の画面

スクリプトの操作は慣れてきたかと思いますが、ドライブファイルを扱うのは初めてでした。いかがだったでしょうか。手作業で添付する際には、あっちのフォルダーだったか、こっちだったか、添付したら間違っていた、など結構な手間がかかります。
スクリプトで、スムーズに作業ミスもなく添付される様は何ともいえず気分も上がります。ぜひ、チャレンジしてみてください。

次回は、いよいよ課題を作ります。「スクリプトでクラスルームに課題(リンク)を作成する」をお届けします。

この記事が気に入ったらサポートをしてみませんか?