Greasemonkeyによるアプリケーション開発

第4回 Google Calendarの予定情報の取り込みと,さらなる拡張のアイデア

この記事を読むのに必要な時間:およそ 6.5 分

いよいよ今回で最終回です。

最終回の仕上げとして,Greasemonkeyの通信機能を利用して,これまで作成したカレンダアプリケーションにGoogle Calendar上の公開カレンダの情報を取り込む機能を追加していきます。

そして最後に,読者の皆様への練習問題として,更なる追加機能のアイデアをいくつか挙げたいと思います。

Google Calendarの予定情報の取り込み

Google CalendarのWeb API

Google Calendarは,皆さんご存知のGoogleが提供しているWeb上のカレンダアプリケーションサービスです。Google Calendara data APIと呼ばれるWeb APIも公開されていて,そのWeb APIを使うことで,予定情報の追加,参照,修正,削除が可能です。AtomをベースとしたXML形式のメッセージフォーマットが使われているのですが,参照についてはJavaScriptで扱いやすいJSONの形式でもカレンダの情報を取得できるようになっています。今回はこの機能を利用したいと思います(詳細な仕様についてはこちらを参照ください)。

参照用のURLですが,その取得にちょっとだけ手間がかかります。その手順を簡単に説明します。

  • (1) Google Calendarを開く

  • (2) 参照したいカレンダのメニューを開き,「カレンダ設定」を開く

    (2)参照したいカレンダのメニューを開き,「カレンダ設定」を開く

  • (3) カレンダ設定画面で「このカレンダーを共有」タブを開く

    ※指定画像がありません※

  • (4) 「すべてのユーザと共有」の項目を「このカレンダーのすべての情報を一般に公開(検討の対象となる)」に設定

    (4)「すべてのユーザと共有」の項目を「このカレンダーのすべての情報を一般に公開(検討の対象となる)」に設定

  • (5) 再びカレンダ設定画面を開き,「カレンダーのアドレス」の項目のXMLボタンをクリック

    (5)再びカレンダ設定画面を開き,「カレンダーのアドレス」の項目のXMLボタンをクリック

  • (6) 表示されたURLをコピー

    (6)表示されたURLをコピー

    コピーしたURL例

    http://www.google.com/calendar/feeds/gordon.timothy.nathanson%40gmail.com/public/basic
    
  • (7) 末尾を変換

    末尾の /basic を /full?alt=json に置き換えます。

    置き換えたあとのURL例

    http://www.google.com/calendar/feeds/gordon.timothy.nathanson%40gmail.com/public/full?alt=json
    

これで各予定の開始・終了日時や場所の情報をJSON形式で取得できます。

なお,予定情報を公開したくない場合は公開用に新たにカレンダを追加するとよいと思います。

また,自分で公開用カレンダを作成しなくても,公開されているカレンダを検索して,自分のカレンダとして取り込めば同じ手順でURLを取得することができます。

著者プロフィール

gotin(ゴチン:GOrdon TImothy Nathanson)

会社員です。肩書きは特にありません。Greasemonkeyは会社の後輩が使っていてそれ面白いじゃんって思って使い始めました。自宅サーバで作ったRuby on Railsな自作ブログツールで作った自作ブログにGreasemonkeyのユーザスクリプトを載せたりもしていたんですが,誰にも読んでもらえなくて寂しかったのです。で,作ったままほったらかしにしていたはてなダイアリーに載せたら自作ブログよりかはありがたいことに多少読んでもらえるようになり,その後いろいろあって,そして今ここにいます。

URLhttp://d.hatena.ne.jp/gotin/

コメント

  • Re:

    わかりやすい文章/コードで、とてもためになりました。ユーザースクリプトを書くのはたのしいですね。

    Commented : #1  はまだ (2008/04/08, 00:01)

コメントの記入