書きたいことはいっぱいあるけどなかなか時間取れていないですこんにちは。。。
ちょっとやってみたかった、祝日判定の元となる、日本の祝日カレンダーをGoogleカレンダーからAPI取得してみたのでご紹介。
GoogleのAPIキーを取得する
APIの有効化
適当なプロジェクトを作るか、既存のプロジェクトでCalendar APIを有効化します。
アカウントに支払い情報が登録されていないと利用できないので注意です!
APIキーの作成
ここでは特に制限しませんでしたが、WebサイトやIPアドレスから制限するようにしてくださいね!
APIコネクタの設定
祝日を取得するには、イベントのリスト取得を行います。
設定はざっくりこんな感じ。
GoogleのAPIキーは、リクエストURLにkey=API_KEYという形で含めます。
URL | https://www.googleapis.com/calendar/v3/calendars/[calendar id]/events?key=[key] |
calender id | japanese__ja@holiday.calendar.google.com |
key | 先ほど取得したAPIキー |
まずはこれで一旦呼んでみましょう。
こんな感じで取得できます。
デフォルトだと数年前のデータから取れてしまうので、timeMin、timeMaxを使って、1年分などに絞ってくださいね。
RepeatingGroupに表示してみる
ここでは「Data」として取得したので、Repeating Groupにデータソースを設定してみます。
APIコネクタで取得したデータの形式は、Repeating Groupのデータタイプとして扱えるよ!
イベントデータは、レスポンスの「items」に入っていますので、先ほどのAPI「祝日 item」を選択します。
APIコネクタのDataで設定した値を取得する場合は、Get data from an external APIを利用します。
API「祝日」の結果を受取りたいので、選択。
結果のうち、itemsを選択。
祝日データは基本的に1日のイベントとして登録されているのでstartdateを表示、祝日の名前はsummaryに入っています。
プレビューします。(昔の日付だと分かりづらいので最近ので)
filteredなどを使えばこんなこともできます。
さいごに
今回はある程度APIを使える前提でサラッと書いてみましたがいかがでしょうか。
製造業などは自社の休日カレンダーを持っている場合も多いですね!Googleカレンダーに一つ会社カレンダーを作ることで、祝日判定が簡単にできます。
施設などの予約やイベントをGoogleカレンダーを共有している場合もありますね。こういうのにも使えそうです。
是非是非利用してみてください。