GCalendar HolidaysのGoogle Calendar API V3対応

(追記)
Wikiの方も更新しました → GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]
(追記終わり)

GCalendar Holidaysで使っていたGoogle Calendar API V2が遂に廃止になってしまいました。(かなり前からDeprecatedになっていて、廃止日も告知されていたのですが、気がついたらもう過ぎていました。)

APIのV3はGoogleのAPI KEYが必須になるため、公開されるJavaScriptからのアクセスは難しいです。(API KEY側にIPアドレス制限が設けられるようですが、それはそれで面倒…)

そこで、とりあえずGoogle AppEngine経由で、Google Calendar API V3から取ったにほんの祝日情報をJSONPで返すようにしました。一部の機能(Googleカレンダー公式版の祝日以外の取得、ブラウザ側のキャッシュ)は未実装ですが、とりあえずGoogle Codeにはあげました。自分のサイトの方も、ぼちぼち更新したいとは思います。

Google AppEngine for PHPは便利ですね。使い慣れないPythonで調べながら作るのもそれはそれで楽しいですが、必要に迫られた時は勝手知ったるPHPでできるのが便利です。
Google Cloud SDKなんてのもできたんですね。AppEngine使うだけなら、今までと変わりませんが…

GCalendar Holidaysを「繰り返し」の予定に対応させました

祝日などのGoogleカレンダーの予定をYUI2やjQuery UIのDatepicker上に表示するGCalendar Holidaysですが、Googleカレンダーで「繰り返し」の予定を登録した場合は正しくDatepicker上に表示されないとrainさんから教えてもらいましたので、修正しました。修正後のバージョンは0.5.1です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

また、最近知ったのですが、GCalendar Holidaysで使っているGoogle Calendar API V2って既にDeprecatedで来年で廃止になるみたいですね。じゃあ最新のV3に移行すればよいかというと、V3は認証があるみたいなので、うーん、どうしましょうね。

GCalendar Holidaysを Datepickerの複数カレンダーに対応させました

匿名さんからのコメントで、jQuery UI Datepickerの複数カレンダー(numberOfMonths)の場合にGCalendar Holidaysで1つ目の月しか祝日が表示されないことを教えてもらったので、複数カレンダーでも祝日が表示されるようにアップデートしました。バージョン0.5.0です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

GCalendar Holidaysの更新は久しぶりです。

それにしても、Googleカレンダーの祝日から今年の春分の日が消えているのはなぜだろう。この間まで表示されてた気がするけどなあ…。

GCalendar Holidays バージョンアップ(0.4.0)jQuery UI Datepickerの土日に背景色を表示

GoogleカレンダーからJSONPで日本の祝日情報を取得するJavaScriptライブラリのGCalendar Holidaysをバージョンアップしました。バージョン番号は0.4.0です。

大きな変更点は、jQuery UI Datepickerを合わせて使った場合に、Datepikcerの土曜日・日曜日に背景色を塗るようにしたことです。

jQuery UI DatepickerはCSSで土日をまとめて指定するのは簡単(class属性にui-datepicker-week-endがあるので)ですが、土曜日と日曜日を別々のスタイルにしようと思うと少しだけ面倒です。(やり方さえ知ってれば難しくはないのですが。)
そこで、祝日に色を付けるついてに土日にもそれぞれ色を付けるようにしてみました。

GCalHolidays.datepickerStylesにスタイルを設定すれば、表示するスタイルを変更することもできます。
文字色を変更したい場合や、逆に背景色を変更したくない場合などはこれを使ってください。
これに合わせて、これまでコードに埋めていた祝日のスタイル設定もGCalHolidays.datepickerStyles.holidayにセットすることにより外部から変更できるようにしました。

土日祝日の背景色は、Yahho Calendarに比べて濃い目にしてあります。
YUI Calendarに比べてjQuery UI Datepickerは全体的に濃いのでそれに合わせたというのと、jQuery UIはテーマを選択できるのでどのテーマでも無難にするには濃い目の方が都合が良かったためです。
(濃い目だと、背景が薄い感じのテーマでも、背景が黒で文字が白抜きのテーマでもどちらでもある程度なじめるので。)

また、その他の変更点として、Googleカレンダーに登録してあるイベントが月末日でかつ時間が0時0分でない場合、そのイベントが取得できない問題を解消しました。
(id:navさん、ありがとうございます。)

GCalendar Holidaysバージョンアップ(0.3.0) jQuery UIのDatepickerに対応

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

フォームへの日付入力補助用カレンダーのjQuery UI Datepickerでも祝日を表示できるようにした。

使い方は、Daitepickerを使うページでGCalendar Holidaysを読み込むだけ。
GCalendar HolidaysでjQuery UI Datepickerに祝日を表示するのサンプルを参照。)

これでYUIとjQuery UIという2大(?)カレンダーに対応。

jQuery UIのDatepikcerってよくできてるよね。テキストボックスへの入力制限とか。親切にいろいろやってくれるのがおせっかいになる時もあるけど...

昔は英語のカレンダーだけだったけど、いつの間にか日本語にも対応してた。Yahho Calendar作る前にこれがあれったら、Yahho Calendarは作らなかったと思う。

GCalHolidays バージョンアップ(0.1.2)取得カレンダーを元に戻した

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalHolidays [ゼロと無限の間に:Sandbox]

主な変更点

  • 取得するカレンダーを、Mozilla.org版からGoogleカレンダー公式版に戻した。

精度はMozilla版の方が高いけど。とりあえず来年のゴールデンウィークの振り替え休日は正しいデータになったのでいいかと。来年9月の連休はまだ入力されてないけど、まだ先の話だし、きっと大丈夫でしょう!