Android端末にGoogleカレンダーの過去の予定を同期させたくてプチはまりした話

現在常用しているAndroid端末は3台ある。持ち歩き用として初代Galaxy Note(SC-05D)とNexus7の32GB版、そして自宅内専用として主にベッドの上で使う初代Galaxy Tab(SC-01C)である。これに加えてつい先日MNPで回線契約を切ったDesire HD(001HT)もあるが、こっちはほぼ退役状態。持ち出さなくていいのなら画面が大きい方がいろいろと役に立つので。

今日、ふとしたことで昨年の5月にあったイベントの正確な日付を確認しようと思い、たまたま手元にあったNexus7でスケジュール管理アプリであるところのジョルテを起動した。しかしカレンダーを遡っていくとそのときの予定が反映されていない。というか、2012年の10月ごろを境に、それ以前のデータがまったく入っていない。

Android端末ではGoogleカレンダーの自動同期が過去1ヶ月くらいまでしか行われないということを今回調べて初めて知った。Nexus7とSC-05Dを買ったのがちょうど去年の11月頭だから(参考→http://d.hatena.ne.jp/inhuman_dog/20121103/1351925907)辻褄が合う。
原因がわかったのはいいんだけど、じゃあどうすればいいのか、とGoogle先生に聞いてみるがどうも要領を得ない。やれジョルテを再インストールしたらいいとか(これは同期がうまくできていないときの対応策であり、1ヶ月しか遡れないので解決にならない)、Snapcalというアプリを使えばGoogleカレンダーの仕様を無視して全期間同期ができるとか(確かにインストールしてみたところ全期間について同期をしてくれるが、このアプリ内で独自にやってくれるだけらしく標準カレンダーやそれをベースに動くジョルテでは流用できない)、なかなかそのものズバリの解決方法に行き当たらない。

困ったもんだと思いつつなおも探していくと、Googleカレンダーのデータを一度エクスポートしたのちいったんカレンダー削除→エクスポートしておいたデータを再度インポート、同時にAndroid側でも同期を切って端末内のカレンダーデータ削除→(上記インポート後に)再同期で全期間のカレンダー同期ができる、というような記述がそこここで見つかった。理屈としてはわかるし可能なのはありがたいが、ひとえにめんどくさい。いざやってみればそこまで手間じゃないのかもしれないと理性ではわかっていつつも手を出すのをためらってしまう。もうこれ別に全期間同期しなくてもいいか、と思い始めていたところで救世主が現れた。

googleカレンダーのインポートの仕様が変わっていた
http://plaza.rakuten.co.jp/youi200712/diary/201301100000/

詳しいことは上記記事に譲るが、一言で言えば
Googleカレンダーのデータをブラウザ上でエクスポート→そのデータをそのままインポート』
とするだけでOKだという。データを重複させることなく編集日時をインポートしたタイミングに書き換えてくれるので、Android側でも「この1ヶ月以内に追加/編集された予定」であると認識して取り込んでくれる、というからくりの模様。

こういうTIPSについてWeb上で公開してくださる方がいらっしゃると本当に助かる。ありがたい。
しかしこのAndroidに対するGoogleカレンダー側の制限は地味にめんどくさいなあ。CPUが大して賢くなくて本体側のメモリが大きくても100MB単位だったPalm機なんかでこういう制限をかけるならともかく、処理能力もストレージ容量も段違いの現行Android機であれば10年単位で予定ぶちこんでもそうそう問題にならないと思うんだけど。