[PHP] Google Calendar API から日本の祝日データを取得

Google Calendarから日本の祝日データを取得する方法についての調査メモ。

ポイント

  • GDataを使う場合はデベロッパーKEYが必要だが、GDataを使わなくても日本の祝日カレンダーは取得できる。
  • 祝日名と日付を取得したい場合、Projection valueは”full-noattendees”で。(fullより少しだけデータが小さくなる。)
  • 利用規約はGoogleカレンダー利用規約。

via. floatingdays: Google Calendar API で日本の祝日データを取得

PHP でやるなら…

$holidays_url = sprintf(
        'http://www.google.com/calendar/feeds/%s/public/full-noattendees?start-min=%s&start-max=%s&max-results=%d&alt=json' ,
        'outid3el0qkcrsuf89fltf7a4qbacgt9@import.calendar.google.com' , // 'japanese@holiday.calendar.google.com' ,
        '2012-01-01' ,  // 取得開始日
        '2012-12-31' ,  // 取得終了日
        50              // 最大取得数
        );
if ( $results = file_get_contents($holidays_url) ) {
        $results = json_decode($results, true);
        $holidays = array();
        foreach ($results['feed']['entry'] as $val ) {
                $date  = $val['gd$when'][0]['startTime'];
                $title = $val['title']['$t'];
                $holidays[$date] = $title;
        }
        ksort($holidays);
}

[2014-8-26 追記] Google Calendar API v3 に対応させる記事を書きました
[PHP] Google Calendar API v3 で日本の祝日を取得する

[PHP] Google Calendar API から日本の祝日データを取得」への3件のフィードバック

  1. ピンバック: phpで日本の祝日や振替休日を出力する。 ::: Toro_Unit

  2. ピンバック: PHPで日本の祝日をGoogleカレンダーAPIから取得する。Let’s コピペコーディング! | 五目あんかけぶろぐ

  3. ピンバック: [PHP]指定期間内で特定の曜日(土日)日数や祝日日数を算出する方法 | HappyQuality

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中