I’ll be the first to call out Google that their gdata python library for connecting into the Google Apps API is the worst.
I wanted to grab all the shared contacts from our domain and it was a giant in the ass. Here is the code I ended up with
import gdata.contacts.client contact_list = gdata.contacts.client.ContactsClient() contact_list.client_login(email="firstname.lastname@example.org", password="password", source='comany-app-1', account_type='HOSTED') feed_url = contact_list.GetFeedUri(contact_list="domain.com", projection='full') while True: feed = contact_list.get_feed( uri=feed_url, auth_token=None, desired_class=gdata.contacts.data.ContactsFeed) for entry in feed.entry: print entry.title.text next_link = feed.GetNextLink() if next_link is None: break feed_url = next_link.href
The email you use needs to have admin rights over your domain in Google Apps.