How can I sync Emacs with Google Calendar and Contacts?

Is there a way to use Emacs to sync with Google Calendar and Google Contacts, ideally keeping a local copy so I can access them offline?


Solution 1:

The Emacs wiki mentions emacs-g-client for access to Google calendar. It was written in 2007, which is old by web service standards, so it may or may not still work.

Solution 2:

If you use BBDB to store your contacts in Emacs, then you should take a look at ASynK :

ASynK is the only software today that can do bi-directional sync between bbdb and google. In fact even Outlook (on Windows) and CardDAV are supported by ASynK. i.e. you can sync your BBDB to outlook, to an ownCloud installation or to Google - it's all bidirectional.

Calendar sync is not supported yet, but the basic sync infrastructure is in place. So it may happen some day.

(Disclaimer : I am the author.)

Solution 3:

I don't imagine there's a good answer on the calendar side of things. Impedance mismatch between Diary and other stuff.

On the contacts side of things, there's some work done on BBDB-to/from-vCard.

http://www.emacswiki.org/emacs/BbdbExportImportSync describes some of it.

The seemingly most complete import/export is trebb/bbdb-vcard at GitHub. Again, there still seems to be some mismatch, so I'd mostly be inclined to manage the data in one place, whether that be BBDB or Google Contacts, and shove from the authoritative source to other places.