![見出し画像](https://assets.st-note.com/production/uploads/images/158274211/rectangle_large_type_2_d123e154e5208259ff7ae16e0069531d.png?width=1200)
#127 課題の提出期限を一覧にする
以下の記事で触れた Google Classroom の課題に設定された提出期限が更新するプログラムですが、
せっかく作ったので、以下の記事のプログラムに反映させておきました。
プログラムを利用する Google アカウントでログインした状態で、以下の URL にアクセスしてください。
https://docs.google.com/spreadsheets/d/1k_QjXrD0aA5oZetX-NmbpEVHTBG4ed-v6kmr71bliIs/copy
コピーしたスプレッドシートでプログラムを実行するときには、初回だけ権限の確認が行われます。その辺りの説明は、以下の記事をご覧ください。
変更点
基本的には、元のプログラムと挙動は変わりませんが、変更したプログラムでは、シート「課題一覧」を出力した時に、列 J「dueDate」と 列 K「dueTime」が追加されるようになっています。
![](https://assets.st-note.com/img/1729144188-SHkCZePt9MbT3EoOila57pF6.png)
システム上は UTC 時間で記録されていたので、日本時間(UTC +9)で上図のように書き出しています。
Classroom の UI では、日付(dueDate)のみ指定し、時間(dueTime)を指定しない設定も可能ですが、システム上には必ず dueDate と dueTime の両方が設定されている。
実際に追加したのは、主に下図の部分です。UTC な dueDate と dueTime を日本時間に変換して取得しています。
![](https://assets.st-note.com/img/1729145576-OLGR810zvhIXkT2UePl46YAJ.png?width=1200)
この 2列の情報を出力するとともに、#126 のプログラムの目的を達成するためのプログラムもふくまれていますが、現時点では API が実行できないために、下図のように提出期限を更新するための関数を呼び出すメニューが表示されないようコメントアウトしてあります。 ※実際に更新するための関数も含まれていますが、呼び出す手段を隠してある状態です。
![](https://assets.st-note.com/img/1729145053-I7BvTgs50LbhFVjceqGy1dkJ.png)
![](https://assets.st-note.com/img/1729145163-feuFH5b08j9mxs4BIWzVi6PZ.png?width=1200)
#126 で書いたように、あとは Classroom.Courses.CourseWork.patch の API が動作してくれるだけだったんですけどね…
どんな処理を行っているのか気になる方は、実際にプログラムをチェックしてみてください。