Google Calendarから日本の祝日データを取得する方法についての調査メモ。
ポイント
- GDataを使う場合はデベロッパーKEYが必要だが、GDataを使わなくても日本の祝日カレンダーは取得できる。
- 祝日名と日付を取得したい場合、Projection valueは”full-noattendees”で。(fullより少しだけデータが小さくなる。)
- 利用規約はGoogleカレンダー利用規約。
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' ,
'[email protected]' , // '[email protected]' ,
'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 で日本の祝日を取得する
コメントを残す