gcalapi AuthSubでカレンダーリストを取得する

あけましておめでとうございます。あんまり正月とか関係なしに淡々と開発しております。
年末年始に外出すると混むんだもん。

で、メイドめーるでデフォルト以外のGoogleカレンダーの情報がとれない件。

googlecalendar.PNG Googleカレンダーでは、こうやって複数のカレンダーをまとめて表示させることが出来るのですけど、メイドめーるがメールしてくれるのは一番上のものだけになっております。
なんでかというと、Googleカレンダーにアクセスするのに使っているgcalapiで、カレンダーリストを取得するAPIがみつからなかったからです。

正確に言うと、ユーザー名とパスワードを使ったらとれるのですけど、なぜかAuthSub認証の場合だけ実装されていないのです。
Googleのドキュメントを見たら、取得する方法があるみたいなので、コードを追加してみました。
module GoogleCalendar
  class ServiceAuthSub
    CALENDAR_LIST_PATH = "http://www.google.com/calendar/feeds/default/allcalendars/full"

    # get the list of user's calendars and returns http response object
    def calendar_list
      logger.info("-- get_calendar_list_responce st --") if logger
      auth unless @auth
      uri = URI.parse(CALENDAR_LIST_PATH)
      res = do_get(uri, {})
      logger.info("-- get_calendar_list_responce en(#{res.message}) --") if logger
      res
    end

    alias :calendars :calendar_list
  end  
end
これだけ実装してあげれば、あとは通常認証と同じコードが働くので、こんなふうにして複数のカレンダーを取ってくることが出来ます。
require 'gcalapi'
require 'googlecalendar/service_auth_sub'
require 'googlecalendar/calendar'

srv1 = GoogleCalendar::ServiceAuthSub.new(user.calendarToken)
cal_list1 = GoogleCalendar::Calendar.calendars(srv1)

出来ればこのコード、本家に取り込んでいただけるとみんな幸せになるように思うのですけど。連絡つくかな?
カテゴリ:

トラックバック(0)

このブログ記事を参照しているブログ一覧: gcalapi AuthSubでカレンダーリストを取得する

このブログ記事に対するトラックバックURL: http://mogya.com/mt/mt-tb.cgi/676

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、 もぎゃが 2009年1月 1日 14:14に書いたブログ記事です。

ひとつ前のブログ記事は「 作ったツールの感想を見る方法まとめ 」です。

次のブログ記事は「 [メイドめーる]複数カレンダーに対応 」です。

最近のコンテンツは インデックスページ で見られます。過去に書かれたものは アーカイブのページ で見られます。

Powered by
Movable Type