Skip to content
This repository has been archived by the owner on Mar 8, 2024. It is now read-only.

カレンダーが更新される仕組みについて

pro_shunsuke edited this page Mar 10, 2021 · 2 revisions

カレンダーが更新される仕組みについて

以下のような手順を踏むことによってカレンダーが更新される(TODO: 図にする)

  1. claspを用いてローカル環境で開発
  2. リモートのaugcプロジェクトにpush
  3. 現在の状態をデプロイ
  4. トリガーの項目でcreateSetScheduleTriggerが毎日1回実行されるように手動でトリガーを登録
    • 手動で登録しているのは、ローカル環境からトリガーのAPIを操作することが出来ないから
  5. createSetScheduleTriggerがトリガーされると1分後にsetScheduleがトリガーされるようにトリガーを登録
    • なぜわざわざトリガーを登録しているかというと、GASのスクリプト実行時間には制約がありあまり長い時間動かし続けることが出来ない
    • そこで一定の時間で区切って一旦スクリプトを終了し、再度新たにスクリプトを実行し直す必要がある。そうすれば実行時間の制約を超えることが出来る
  6. setScheduleを実行して一月ずつの単位で公式サイトのカレンダー情報をGoogleカレンダーに登録
  7. ある一月分を登録し終わった時点で4分を越えていたらそのスクリプトは終了し、1分後に次の月からカレンダーを登録するようにsetScheduleがトリガーされるようにトリガーを登録
  8. 1年分を登録し終わったら全体の処理を終了する