ServersMan@VPSでubuntuサーバ その8(DavMailとgoogle calendar)

DavMailgoogle calendarの連携のメモ。
一応できるようになりましたが、実用上問題多く、結局やめました。
 
 
Davmailが吐き出すのは、CalDAV形式です。編集したいので当然と言えば当然。現在は、iPhoneの標準カレンダーや、ThunderbirdLightningで取り込んで使っています。

一方、google calendarで外部カレンダーとして追加できるのは、iCalendar形式(.ics)のみで、CalDAV形式は追加不可です。
google calendarをCalDAV「サーバ」として外部に公開することはできるのですが、他のカレンダーをCalDAV「クライアント」として取り込むことはできません(参考)。
DavMail経由のカレンダーも、google calendarで一元管理ができると便利そうなんですが、そのままではできません。
 
しかし実はDavMailは、ics形式のファイルも出力できます。URLの最後に”/”をつけるだけ。
ブラウザのアドレス欄に下記のように入力すると、ダウンロードできます。

https://server:xxxx/url/to/calendar/

で、このURLをgoogle calendarに教えてやれば良いかと思いきや、google calendarは認証が必要なファイルは指定できないんだそうです。
しかたないので、簡単な変換cgiを組んでやります。

#!/usr/bin/env sh

echo “Content-Type: text/calendar; charset=utf-8”
echo
wget –http-user=’username’ –http-passwd=’password’ –no-check-certificate https://server:xxxx/url/to/calendar/ -O –

wgetでアカウント名とパスワードを指定しています。SSL認証もパス。
“-O -“で、ファイルに保存の代わりに、標準出力に出せます。
これを適当なサーバにおいて、そのURLをgoogle calendarに登録してやればOK。
 
このcgi、認証をパスするので、当然ながらURLがばれると誰でも読めてしまいます。
ランダム文字列のファイル名にします。
 
 
これでgoogle calendarに追加可能になりましたが、1) セキュリティ上の問題、2) google calendarからの編集不可、3) アイテム数が多いと負荷が高い、と言った理由から、やめることにしました。
google calendarがCalDAVクライアントになるまで、気長に待つことにしましょう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中