周回遅れの日記

はてなダイアリーから移転

Thunderbird 24.0でGoogleカレンダーを同期する

Provider for Google Calendar0.18と、lightningというアドオンを使って、GoogleカレンダーThunderbirdで同期しています。

Thunderbird 17.0.8からThunderbird 24.0にアップデートすると、 Lightning 1.9.1 が使えなくなりました。
ちょっと困ったけど解決したのでメモ。

Thunderbirdをアップデート後に起動すると、Lightning 1.9.1は使えないよというダイアログが出ます。
Lightning 更新すればいいんだろ、と思って、最新版(ここの「他のバージョンを見る」から落とせます)の2.6を落としてインストールします。
lightning-2.6-tb+sm-windows.xpiをインストール後、Thunderbirdを再起動するよう指示が出るので再起動すると、カレンダーのGoogleアカウントでログインを促されます。

ところが、何度正しいIDとパスワードを入力してもログインできないのです。
困ってしまいました。

Mozilla Calendar Project Blog によると、どうもGoogle側の変更が原因だそうです。

Google has decided to change the authentication mechanism for their CalDAV calendars to OAuth, which required some changes in Lightning to accommodate.
Due to these changes, the URL to access the calendar has also changed. The old endpoint will stop working after September 16th (today!). This affects only Google calendars using CalDAV protocol.

Google is changing the Location URL of their CalDAV Calendars | Mozilla Calendar Project Blog

(today!)というくだり、中の方の憤激が伝わってくるような気がしてちょっとにやにや。

Mozilla Calendar Project Blog に書いてあるとおりに作業してみます。

カレンダーを作る

Thunderbird 24とlightning 2.6がインストール済みの状態で、自己のGoogleアカウントでGoogleカレンダーを作成済みであることを前提にしています。

Thunderbridで、新しくカレンダーを作り直します。
Thunderbirdから「ファイル」>「新規作成」>「カレンダー」をクリック。

「新しいカレンダーを作成します」のダイアログが出ます。

「ネットワークのサーバに保存する」を選択して、「次へ」をクリック。

「リモートカレンダーへの接続に必要な情報を入力してください」とありますが、「フォーマット」は、従来の「Googleカレンダー」ではなくて、「CalDAV」を選択します。
「場所」には、
https://apidata.googleusercontent.com/caldav/v2/your-email-address/events
のURLを入力します。
your-email-addressはあなたのアカウントに直してください。こんな感じになるはずです。
https://apidata.googleusercontent.com/caldav/v2/usocalender@gmail.uso.com/events
「場所」を入力すると「次へ」をクリックできるようになるので、「次へ」をクリック。

「カレンダー名と、このカレンダーの予定につける色を指定してください」とあるので、カレンダー名を入力します。
アラーム通知が必要な方は入力します。
すでに、他のサービスからのアラーム通知を有効にしている場合は、二重三重に通知される可能性があるので注意してください。私はThunderbirdからは通知させないようにしているので、「アラーム通知」のチェックを外し、メールアドレスを「なし」にしています。

「カレンダーが作成されました」と出るので、「完了」をクリックします。

Googleアカウントを認証する

同時に、別にGoogleアカウントの認証用のダイアログが出るはずです。

IDとパスワードを入力して「ログイン」します。

Lightningアプリを信頼できる方は、「承認する」をクリックします。

これで、ThunderbirdGoogleカレンダーが同期されました。
回線速度次第ですが、しばらく待てばThunderbirdでもGoogleカレンダーが表示されるはずです。

これまでのやり方

忘れていて、一応調べ直したのでついでにメモ。

「フォーマット」は「Googleカレンダー」を選択。
「場所」はカレンダーのアドレスを入力する。
カレンダーのアドレスは、「設定」>「カレンダー」>「(自分のカレンダーの名前)」の下の方に「カレンダーのアドレス」がある。

XML」ボタンをクリックするとXMLフィードが表示される。
それをコピペして「場所」に入力する。

別の環境で、ESR版(Thunderbird 17.0.9esr)をインストールして、lightning 1.9.1とProvider for Google Calendar 0.18 を入れた状態で試したところ、上記のこれまでのやり方でGoogleカレンダーと同期できました。

(10/16追記)関連記事

関連記事を書きました。
Googleカレンダーが同期できない方はお役に立てるかもしれません。役に立たないかもしれません。
ThunderbirdでLightningが使えないぞ
Thunderbird24.0.1でLightningが使える、かもしれない