ビジネスとIT活用に役立つブログ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.
アーティス

アーティス

創造性を最大限に発揮するとともに、インターネットに代表されるITを活用し、みんなの生活が便利で、豊かで、楽しいものになるようなサービスやコンテンツを考え、創り出し提供しています。
この記事のカテゴリ:

SNSで最新の情報を
受け取ることができます!