昨年、GoogleカレンダーのスケジュールをLINE Notifyでグループラインへ通知するシステムをGoogleAppsScript(以降はGAS)を用いて構築しました。@njn0te(Takayuki Nakajo)さんの記事を参考に行いました。
しかし、2025年3月にLINE Notifyのサービスが終了することが発表されました。あと二カ月。
LINE Notifyは「IFTTTをはじめとする外部サービスの通知をLINEで受け取れる開発者向けのサービス」であり、2025年4月からはLINE NotifyのすべてのAPIが利用できなくなります。代替手段として、LINE公式アカウントからユーザーに通知を送信できるMessaging APIを利用することにしました。ただし、公式アカウントのプランごとに無料で送信できるメッセージ通数に上限があるため、少し注意が必要です。
前回の設定の振り返り
- LINE Notifyでアカウントを作成
- アクセストークンを発行
- @njn0te(Takayuki Nakajo)さんのソースコードを元にGASでアクセストークンとGoogleカレンダーIDを明記
- GASのデプロイとトリガータイミングの設定
今回の対応手順
- LINE Developer アカウントの作成とMessaging APIのチャンネル設定:
- LINE Developersサイトにアクセスし、LINEアカウントでログイン後、Developerアカウントを作成。
- チャンネルを作成し、Messaging APIを選択。チャンネル名や詳細を入力してチャンネルを作成。
- チャンネルアクセストークンを取得します。これが後で必要になります。
- GoogleカレンダーIDの取得:
- Googleカレンダーの設定ページにアクセスし、「カレンダーの統合」からカレンダーIDを確認。
- Webhook URLの入力:
- デプロイで取得したURLをLINE公式のWebhook URLへ入力。
- GASの作成と設定(LINE IDの取得):
- 新しいGASを作成し、以下のコードを追加。スクリプトの公開はGASを「ウェブアプリケーション」として公開。初回のみ、必要な権限を承認します。スマホでLINE公式アカウントにメッセージを送るとスプレッドシートにLINE IDが明記されます。
- GASの作成と設定(カレンダー連携):
- Googleドライブで新しいGASを作成し、以下のコードを追加。これによりGoogleカレンダーの予定を取得し、LINE Messaging APIを使って通知。setTriggerを実行すると取得時間がトリガー設定に書き込まれます。
最後に
前回は@njn0te(Takayuki Nakajo)さんの記事をまるまる参考にしましたが、今回はCopilotのみで作成できました。休日に6時間ほどかけて、試行錯誤を繰り返しながらの作業でした。メッセージ内容の調整や複数人への送信設定など、何度もやり取りをしながら、ようやく納得のいくシステムを構築できました。
生成AIのCopilotのおかげで、今回のプロジェクトはスムーズに進みました。技術の進歩には驚かされるばかりです。Copilotを活用することで、今後もさらなる効率化とアイデアの実現が期待できそうです。