GASで現在のプロジェクトのトリガー実行時は必ずデータ更新を確認する

現在のプロジェクトのトリガー実行とは

Google Apps Scriptで任意の関数を特定の条件で実行するためのもの。

例えばmsgBoxを実行する関数をシートを開いたときに表示したい場合はトリガーを追加で関数を選択してイベントの種類に「起動時」を選択する。

function myFunction() {
  Browser.msgBox('Hello'); 
}
GASで現在のプロジェクトのトリガー実行時は必ずデータ更新を確認する

シートを開いた際に最新のデータをAWSやFirebaseなどのデータベースを読み込むのに便利だが、更新していないのに毎回読み込んでいたら無駄に読み込み処理を行うことになってしまう。

データが更新されているかチェックする

更新されていなければ読み込み処理を行わないためにはデータの差分をチェックすれば良い。

すべてのデータをチェックするのは時間がかかるので大抵の場合は最新のデータとシート内の最新のデータが一致するか確認すれば良い。

// data[0][0]とA2に最新の日時が含まれる例
const sheet = SpreadsheetApp.getActiveSheet()
const data = firestore.getDocuments('data')
const A2 = sheet.getRange("A2").getValue()
if (data[0][0].getTime() !== A2.getTime()) {
  // データが一致する場合は処理を実行
}