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は認証があるみたいなので、うーん、どうしましょうね。

JAXのバグを修正しました

PHPで手軽に配列・JSON・XMLを相互変換するライブラリJAX.phpにバグがあるというメールを頂いたので修正しました。修正後のバージョンは0.1.1です。

バグの内容は、XMLに変換するデータに「&」等のXMLで許可されない文字を含んでいる場合にエラーになるというものです。

こういうご連絡をもらえるというのはありがたいですね。 🙂

Google Search Date LimiterがGoogle画像検索に対応しました

Google検索で手軽に日付範囲を選択できるようになるGreasemokeyの「Google search date limiter」を更新しました。バージョン0.5.0です。

変更点は下記です。

  • Google画像検索にも対応。(通りすがりさんのリクエストに応えました。)
  • 日付範囲選択のプルダウンとGoogleアカウント表示・選択が重なってしまうのを回避。
    (Googleアカウントを上に移動させた。)

 

画像検索にも対応させたことにより、Googleの他の検索でも(結果的に)対応することになるような気がします。(未検証。)
何か気づいたら教えて下さい。

Google Mapper V3をちょっとバージョンアップ(0.6.1)

Google Mapper V3を微修正したました。IEで動かないバグの修正と、load()でGoolge Maps APIのJavaScriptを読み込む場合に位置情報使用有無のパラメータであるsensorを指定できるようにしました。

で、このsensorとtrueにすると、ブラウザが対応していればユーザーの位置情報が取得できます。(Firefoxはデフォルトでは許可を求めてきます。Androidでは設定で位置情報を使えるようにしておく必要があります。)
スマートフォン向けの地図表示などでは需要があるのではないでしょうか。

で、試しに、Google Mapper V3で現在地を取得する動作サンプルを作ってみました。
スマートフォンでGPSを使えばもちろんかなり正確な場所が分かりますが、GPSを使わなくてもGeolocation APIは無線LAN等からある程度場所を特定できます。ノートPCとFirefoxの組み合わせでも、意外に正確な場所が取得できました。興味のある方は上記のサンプルで試してみてください。
(無線LANの使えないPCなどではかなり残念な結果になります…。)

追記:IE(9)では無線LANが使える環境でも残念な結果になってしまいました…

RT_reportのつぶやきを非公式RTから公式のReTweetに変更

RT_reportのつぶやきを、非公式RTから公式のReTweetに変更しました。
以前から公式RTにしたいなとは思ってたのですが、Google App EngineとTwitter Search APIの組み合わせによる制約のため諦めていました。
しかし今日になってふと思いついたので、やってみたらうまくいきました。

これにともない、AppEngine-Twitterもバージョン0.2.0にバージョンアップさせました。
変更点はReTweetができるようになったことと、Twitter APIのアクセス制限時のレスポンスのHTTP Status Codeが503から420に変わっていたことの対応です。(ずいぶん前に変わっていたみたいです。)