公開用のカレンダー用の仕組みを作った

公開日:2019-03-26
最終更新:2019-03-26
※この記事は外部サイト(https://namonakimichi.hatenablog.com/entry...)からのクロス投稿です

https://www.yumechi.work/ で見れる。( github.io なので https://yumechi.github.io/ でも見れるはず)

動機

最近、自分の予定が管理しきれていないのと、いつ暇と聞かれたときに回答がめんどくさいなと思い始めていてある程度公開できる形で予定を示しておきたかったから、ってだけですね。

(おいたのは自分のサイトなので誰も見に来ないとは思いますが…。)

使った技術

  • Google Apps Script

リポジトリ

微妙なコードを直置きしてる

https://github.com/yumechi/sync_google_calendar

仕組み

ただ単にカレンダーを公開すればいい問題でもないので(人には黙っていたいが、予定が入っていることを示したい場合もある)マスキングした上でバッチ処理を行い、公開用のカレンダーに書き込む。

予定を重複して書き込まないために非公開予定の最後に 【yumechi】 と書くことにより、すでに書き込んだことをマークする。

あとはトリガーをセットしてあげれば定期的に予定が同期される。

ハマりどころ

  • 無限にGASでハマる
    • 2年ぶりくらいにカレンダーAPIを触った、GASを触った。なのでJavaScriptが古くて、ないもの多すぎてキレそうだった
    • カレンダーの名称を取ることすら最初は難しかった
      • 結局全てのカレンダーを全部取って全部情報をプリントして確認した
    • 権限周りでコケまくった(READ権限しかないカレンダーにWRITEしようとしてはいけない)
    • イベント取るのがめんどくさかった
      • 時間の範囲指定がね…
    • 配列とは… うぐぐ…(JavaScriptが古いことに起因する問題の一つだと思う)
    • description のセットをミスしまくる(セットできてないことに気づいていなかった)
    • デバッグがし辛い(エラーが分かりづらい)
    • カレンダー名を隠すためにproptertyにセットして取り出す方法を忘れて辛かった

作業時間

6時間くらい?

まとめ

  • GASは進捗が出やすいので楽しい
  • Google API触っていろいろできたので、カレンダーをDBみたいにしてAPIみたいなものを書きたいなー
  • TypeScriptとかも使いたい
  • claspつかいたいな https://qiita.com/howdy39/items/0e799a9bfc1d3bccf6e5
  • あとはチェック方法がとても微妙なので、もう少しうまく更新する技を考えたい

参考にしたところ

記事が少しでもいいなと思ったらクラップを送ってみよう!
23
+1
技術ブログとは何なのだろう。なんかちょっと試してみたものをメモがてら残してみています。

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする