Its been a while since the last update to the saga of how to keep all your contacts in sync on the cheap. If you have upgraded to Snow Leopard, then Address book and iSync already work to keep your GMail contacts (and your Yahoo contacts) all synced up.
But back in the original Leopard, however, you had to have an iPod or iPhone to get the sync started. As it turned out – you could get around that restriction by syncing with Yahoo in lieu of an iPod, and GMail contacts would sync up as well. That was the jist of the last post. You want to be very familiar with it, with Google contacts, Address Book and iSync before proceeding.
After awhile, this free sync up mechanism stopped working. Yahoo was still in sync but GMail had stopped updating. I tried backing up the contacts, deleting them, restoring them (on both the Mac and Google ends) but nothing worked. GMail would not sync up. Something must have changed in the Google Contacts API, or in Leopard (10.5.8), or both. My Mac OS X addresses were fine, but changes I had made there were not getting to GMail.
If you find yourself in this position, consider this. P.S. I will not be held responsible for lost data, accounts, or anything else.
1) Back up your Address Book and your GMail contacts before you begin.
2) Really. Back them up. Use several different formats for each one. Move copies of the backups to a thumb drive.
You will need to restore from these files if this technique fails for you.
3) Now delete all your GMail contacts (you should feel confident that they are backed up before doing this step – create a new GMail
account and import the contacts from your backup as a test if there is any doubt).
4) Enter Address Book preferences and uncheck all the sync options (be sure you know the account names and login passwords of each sync option you uncheck – you will have to re-enter them later)
5) Still in Address Book preferences, check only the Google sync option. Enter the GMail account and password for the account that has stopped syncing (and now has no contacts in it).
6) Now here comes the interesting part: there is a command line sync which I found in an old Google Groups forum. It can be issued with four different sync mode parameter options: fast, slow, refresh, and pullthetruth. The one that seems to work is “pullthetruth”. It appears clear the GMail contacts database completely and then rebuild it using whatever is in your Leopard Address book. The command syntax is:
/System/Library/PrivateFrameworks/GoogleContactSync.framework/Versions/A/Resources/gconsync –sync com.google.ContactSync –report 1 –httplog 1 –syncmode pullthetruth
A summary of command line parameters (but not what they mean) is given here. Lots of messages should appear on the screen. If you are good with Unix, you should be able to route them to a file for later inspection.
7) Go back into Address Book preferences and re-check the Yahoo box. Enter name and password.
8) The sync should now be re-enabled to run as before. Add a new address to Address Book. Go to iSync on your menu bar, click it and select “sync now”. The new address should show up in Google contacts.