Tombloo で Google カレンダーへ予定を高速投稿
2010/02/09 追記
注意 : 標準で Google カレンダー対応になりました。この Tombloo パッチはもう必要ないです。(対応になったのは随分前だけど、この記事を見ている方が結構いるようなので念のために追記。)
2009/03/25 追記
Amazonの商品明細からGoogleCalendarに登録するTomblooのパッチ - zorioの日記
既に、似たようなパッチがありました。あわわ...検索したら上位にありました。もっと良く調べるべきでしたねー
仕組み
Google カレンダー 英語版には "Quick Add" という、予定を手軽に追加できる便利な機能があります。その機能を Tombloo から利用します。
特にこれといった理由はないですが Google カレンダーのモバイル版を利用しています。
○○発売日 2009/03/30とか
○○発売日 mondayと入力して、予定を投稿します。改行は使わない方がいいかも。
日付の部分は(英語版の機能ゆえに)日本語では通りません。*1
記法の詳細は About the 'Quick Add' feature - Google Calendar Help を参照してください。
使う
無保証です。googlechalendar.js を右クリックで保存してください。
保存先は Tombloo の script フォルダです。
script フォルダは、規定値では下記の場所になります。Tombloo の設定で "データ/スクリプトディレクトリ" を変更していた場合は下記とは異なります。
ソースコード
models.register({ name : 'Google Calendar', // 名称 ICON : 'http://calendar.google.com/googlecalendar/images/favicon.ico', // アイコンの URL check : function(ps){ // データの形式 return ps.type=='regular'; // テキスト形式を指定 }, post : function(ps){ return request('http://www.google.com/calendar/m', { // Google カレンダーモバイル版にアクセス queryString : { // クエリの設定 hl : 'en', // 英語版を指定 }, }).addCallback(function(res){ var doc = convertToHTMLDocument(res.responseText); if(doc.getElementById('gaia_loginform')) // ログインフォームが表示される場合は失敗 throw new Error(getMessage('error.notLoggedin')); var fs = formContents(doc); // フォームを取得 return request('http://www.google.com/calendar/m', { // 処理するプログラムの URI (action 属性) redirectionLimit : 0, sendContent : { ctext : ps.description, // description に入力した値を追加する予定に secid : fs.secid, as_sdt : fs.as_sdt, // 投稿日 }, }); }); }, });