バックオフィスが生成AIでがんばるシリーズですが、今回はプライベートで利用しているサービスの自動化についてやっていきます。
やりたいこと
akippa(アキッパ)の駐車場予約情報CSVをオーナーサイトからダウンロードして予約情報をGoogleカレンダーに転記します。
方針
以下の処理を行うAWSのLambda関数を作成して実現させます。
- akippaのオーナーサイトにログインします
- 予約一覧のページにあるCSVダウンロードのリンクから予約一覧CSVをダウンロードします
- CSVから1行ごとの予約情報をパースして、Googleカレンダーに Google calendar API を使用して転記します
なおコードをクリーンにするため、akippaオーナーサイトのログイン情報(ID/Pass)及びGoogleカレンダーIDやAPIのトークン(JSON)はLambda関数の環境変数に保存します。
今回コードはChatGPT 4o に作成させ、テストしながらデバッグしていきました。
Googleカレンダーの準備
まずは、新しいカレンダーを作成します。設定画面の下のほう「カレンダーの統合」にあるカレンダーIDを取得して控えます。
Google Calendar API の準備
-
GCPにログインして、新しいプロジェクトを作成します。プロジェクト名は任意のものを使用してください
-
すると自動的にJSON形式の鍵がダウンロードされますので、安全に保管します
-
これでGoogle Calendar API の準備は完了です。カレンダーIDとJSONの内容を後で使用しますので控えておきましょう
Lambda関数の準備
- AWSコンソールよりLambda関数を作成します。「関数を作成」ボタンから作成してください
- 今回はpythonで作成します。「一から作成」を選択し、関数名は任意のもので、ランタイムは Python を選択します。右下の「関数の作成」を押下してください
関数が作成できたら、環境変数を設定します。
Lamda関数の環境変数の設定
先ほど作成した関数を表示し、設定タブの中の「環境変数」から環境変数を追加します。
具体的には下記の環境変数を追加し、値のほうに適切な値を設定します。
- GOOGLE_APPLICATION_CREDENTIALS_JSON
⇒ GCPからダウンロードしたJSONファイルを開いて中身をコピペ - calendar_id
⇒ 作成した Google Calender の カレンダーID - username
⇒ akippaのユーザーネーム(ID) - pass
⇒ akippaのパスワード
ここまで出来たらChatGPTに生成してもらったコードを貼り付けていきますが、今回はここまで。
まとめ
今回はGoogleカレンダーAPIの準備を行いました。
次回はLambda関数を作成し、実際にakippaとのサイトからCSVをダウンロードして転記する処理に進みたいと思います。