グローバルナビゲーションへ

本文へ

フッターへ

お役立ち情報Blog



GoogleCalendarAPIを利用して、PHPでGoogleカレンダーの情報を取得してみよう!(祝日編)

Webの業務をしていると、カレンダーを表示するシステムを作成することがあります。
カレンダーに表示する祝日を計算で導き出していると、今年(2020年)のように特例で祝日が移動になっていたりする場合、個別に対応が必要になり手間がかかってしまいます。

そこで今回は、Googleが提供している日本の祝日カレンダーからGoogleCalendarAPIを利用して、祝日情報を取得してみたいと思います。

筆者の環境

  • CentOS 7
  • PHP 7.3.4

APIキーの取得

GoogleCalendarAPIを利用するにはAPIキーが必要になりますので、まずはAPIキーの取得方法を解説していきます。

1. GoogleDeveloperConsoleプロジェクトの作成

GoogleDeveloperConsoleにアクセスし、プロジェクトの選択から新しいプロジェクトを選択します。


プロジェクト名を入力し、「作成」ボタンを押下します。

2. GoogleCalendarAPIを有効化させる

新規に作成したプロジェクトになっていることを確認し、ライブラリタブを選択します。


検索ボックスに「calendar」と入力し、「Google Calendar API」を選択します。


「有効化する」ボタンを押下します

3. 認証情報の作成

APIの概要ページに「この API を使用するには、認証情報が必要になる可能性があります。開始するには、[認証情報を作成] をクリックしてください」とあるので、「認証情報を作成」ボタンを押下します。


APIキーを選択します。


APIキーの名前を入力し、「作成」ボタンを押下します。 接続元のIPアドレスやウエブサイトのリファラでAPIキーに制限をかけることもできます。


APIキーが生成されました!
後で使用しますので、表示されているAPIキーをメモしておきます。

PHPでデータの取得

以下のようなコードを作成してみました。
※$api_keyの部分は、上記で取得したAPIキーを入力してください。

実行結果

2020年特例の「海の日、体育の日、山の日」もしっかり取れていますね!

注意

  • GoogleCalendarAPIの利用は無料ですが、リクエスト数に制限があります。(500 requests/100seconds/user)
    アクセス数が多い場合祝日データが取得できなくなるため、取得した祝日データをテキストにキャッシュする等の対策が必要になります。
  • Googleカレンダーに祝日登録されていない祝日は取得できません。
    当然ですが、国民の祝日以外の独自祝日はデータが有りません。また、2年後以降のデータは未登録のため取得することができません。

さいごに

いかがでしたでしょうか。今回はGoogleCalendarAPIを使って祝日を取得してみました。
GoogleDeveloperConsoleにてAPIリクエストのトラフィックを確認することもできます。

次回はGoogleCalendarAPIを利用してカレンダーに登録した予定情報の取得をしてみようと思います。

The following two tabs change content below.

tkr2f

事業開発部 web application engineer
2008年にアーティスへ入社。 システムエンジニアとして、SI案件のシステム開発に携わる。 その後、事業開発部の立ち上げから自社サービスの開発、保守をメインに従事。 ドメイン駆動設計(DDD)を中心にドメインを重視しながら、保守可能なソフトウェア開発を探求している。
この記事のカテゴリ

FOLLOW US

最新の情報をお届けします