トップ «前の日記(2013-10-31) 最新 次の日記(2013-12-31)» 編集

2013-12-14 [長年日記]

_ Google Calendar API v2でredirectされる場合が出てきた

たぶんv2なんだけど、よく分かってない。

今回の話はRubyで、使っているライブラリは

wtnabe/gcalapi

です。

リンク先は fork した自分のリポジトリで、こっちで redirect に対応しましたという話。

自分は Android にカレンダーの「参照」機能がないことに困って*1 wtnabe/ical2gcal で RTM のイベント(iCal)を Google カレンダーに取り込んでスマホなどから確認できるようにしているんだけど、これの転送に一昨日くらいから急に失敗するようになってきた。(実際には以前から毎回必ずうまく動くわけではないんだけど、現実的に困らない程度には同期が取れる状態になっていたのに、それがまともに同期できなくなった。)

で、とりあえず手動で動かしてみると Moved Temporarily ってエラーが返ってきてる。これを確認したところで Twitter に投げておいたら

こんな返事をもらったので、

  • gcalapi を fork して修正
  • gcalapi を利用している ical2gcal の方は依存ライブラリの URL を変更

てな感じで対応しました。

とりあえず Bundler で使っている場合は

gem 'gcalapi', :git => 'https://github.com/wtnabe/gcalapi'

ってしとくと 0.1.2r (redirect対応)が入ってなんとか動くようになります。ical2gcal はこれを利用するように変更して新しい gem を push しておきました。

本当は pull-req した方がいいんだろうけど、すでに github 上の repos と rubygems.org の gem は作者が合ってなくて、どこに push しても変わらんかなという気がしたので、fork したものを Bundler で使うようにしちゃいました。

どうせ Google Calendar API v3 に移行しなくちゃいけないので、そのうち gcalapi は使わないように変更しなきゃなー。(と、実は1年くらい思っている。)

※ インフルエンザの予防接種受けたので酒が飲めなかったおかげで思わず 昨日はだらだらコード書いて夜更かししてしまった。

*1 iOSには大昔からある