Google Contacts と iPhone の同期

このエントリーをはてなブックマークに追加 Pocket
IOSSyncWithGoogle

Google Contacts と iPhone の同期をまえに一度やってみたものの、 どうもイイ感じにならなかったのでずっと放置していました。

iPad 2 を入手して同期対象が増えたこともあり、いっちょ挑戦してみるかと思った次第でございます。

なお、本エントリの内容は 2011-05-16 時点での以下の環境での検証結果です。 将来 Google Contacts および iOS の仕様が変更されると異なる結果が得られる可能性がありますのでご了承ください。

  • Mac OS X 10.6.7
  • iOS 4.3.3

さて、いろいろと情報収集や試行錯誤をした結果、押さえておくべき前提は以下のものと判断しました。

  1. Google Contacts と iPhone の同期開始時は Google Contacts のデータがマスタである
  2. iPhone と Google Contacts では「姓」と「名」の解釈が逆?

それぞれについて補足します。

Google Contacts と iPhone の同期開始時は Google Contacts のデータがマスタである

iPhone で Google Contacts との同期を有効にする際には、iPhone 上のデータを削除するか確認されます。

このとき、iPhone 上のデータを残すという選択もできますが、データの重複への対処が面倒になるのでおすすめしません。

つまり、Google Contacts と iPhone の同期を開始する際には、連絡先データはすべて Google Contacts に集める必要があるのです。

iPhone と Google Contacts では「姓」と「名」の解釈が逆?

Google Contacts で普通に連絡先を作成すると、iPhone に同期した際に「姓」と「名」が逆転します。

GoogleContacts1000000090.png

※正確には逆転することがあります。実は入力方法によって結果が異なるようです。 「姓」と「名」の間にスペースを入れないと iPhone 側では両方共「姓」として扱われます。

つまり、iPhone 側で「姓」と「名」を正しくさせるためには、Google Contacts 側の「姓」と「名」を逆転させる必要があるのです。

以降では、これらの前提を踏まえて Google Contacts と iPhone を同期させる手順について説明します。

連絡先情報を Google Contacts に集める

iPhone ユーザの方であれば、連絡先情報は基本的に iPhone にすべて保存されていると思います。

つまり、iPhone 上の連絡先データを Google Contacts にコピーすることになります。

おおまかな流れは以下の通りです。

  1. iPhone と Mac で連絡先を同期させる
  2. Mac のアドレスブックからすべての連絡先を vCard 形式でエクスポートする
  3. Google Contacts に vCard をインポートする

Mac のアドレスブックには Google Contacts との同期機能があります(OS X 10.5.3 以降)。 しかし、アドレスブックと Google Contacts の同期では「ふりがな」が反映されないようです。

そこで、vCard 形式のファイルを経由してデータのコピーを行います。

※ vCard については RFC2426 を参照

iPhone と Mac で連絡先を同期させる

iTunes で同期しましょう。以上。

アドレスブックのデータをバックアップする

作業前にはアドレスブックのデータをバックアップしましょう。

  1. アドレスブックを起動します。
  2. メニューより [ファイル] > [書き出す...] > [アドレスブックのアーカイブ...] を選択します。
  3. ファイルの保存先を選択して [OK] ボタンをクリックします。

Mac のアドレスブックからすべての連絡先を vCard 形式でエクスポートする

  1. アドレスブックを起動して、「すべての連絡先」を選択します。
  2. 「名前」欄のすべての連絡先を選択します(⌘A)。
  3. メニューより [ファイル] > [書き出す...] > [vCard を書き出す...] を選択します。
  4. ファイルの保存先を選択して [OK] ボタンをクリックします。
顔文字などを連絡先に登録している場合

顔文字などを連絡先に登録している場合は、エクスポート前に該当する連絡先をアドレスブックから削除することをおすすめします。エクスポート後に、予めバックアップしておいたアドレスブックのアーカイブからリストアしましょう。

また、顔文字などのみを iPhone と同期するようにしておきましょう。

私はアドレスブックでグループを作成して顔文字を登録しているので、そのグループのみを iPhone に同期するようにしました。

vCard 内の「姓」と「名」を入れ替える

アドレスブックからエクスポートした連絡先データをそのまま Google Contacts にインポートすると iPhone と同期した際に iPhone 側の「姓」と「名」が逆転してしまいます。

そこで、アドレスブックからエクスポートしたデータ内の「姓」と「名」を入れ替えるスクリプトを AWK という言語で書きました。

スクリプトをこちらからダウンロードしてください。

ターミナルを起動して、アドレスブックからエクスポートした vCard ファイルを保存したフォルダに移動してから以下のコマンドを実行してください。

$ tr -d \\r < vCard.vcf | awk -f SwapFirstAndLastName.awk > vCard4Google.vcf

ターミナルって敷居が高いかな… 「$」はプロンプトです。入力する文字ではありません。

Google Contacts に vCard をインポートする

  1. Web ブラウザで GMail にアクセスします。
  2. [連絡先] をクリックします。 GoogleContacts2
  3. [その他の操作] > [インポート...] をクリックします。 GoogleContacts3
  4. AWK スクリプトで変換した vCard ファイルを選択して [インポート] ボタンをクリックします。 GoogleContacts4

iPhone で Google Contacts との同期を設定する

Google Contacts に連絡先データを保存することができたら、iPhone で Google Contacts との同期を設定します。設定手順は以下のページを参照してください。

iOS:Exchange ActiveSync アカウントのクイック設定ガイド

連絡先の同期を選択すると以下の画面が表示されると思いますので、通常は [削除] ボタンをタップしてください。

1000000091.png

顔文字などのみを iPhone に同期している場合は [iPhoneに残す] ボタンをタップしてください。 すると、以下の画面が表示されますので、再度 [iPhone に残す] ボタンをタップしてください。

1000000092.png

まとめ

iPhone 上の「姓」と「名」を正しくすることを優先して Google Contacts と同期する方法を説明させていただきました。

本文中では iPhone にのみ言及していますが iPad でも同様に同期できますので、たとえば iPhone で連絡先の追加・変更を行えば、iPad にも反映されるようにできます。

ただし、Google Contacts の「姓」と「名」を逆転させているので、 GMail でのメール作成時に宛先に入力したアドレスの「姓」と「名」が逆転してしまいます。

iPhone 側で「姓」と「名」を一括して逆転させる方法が確立できればこの点も解決できそうなのですが、おそらく iPhone アプリの作成が必要になるので将来の課題事項としておきたいと思います。

気が向いたら取り組みたいですw

関連記事

0 コメント: