Группа "Мои контакты" google contacts

Я написал небольшой скрипт python, который доставит мне все группы в мой список контактов Google, однако по какой-то причине «Мои контакты» в этом не отображаются. Я использую 3.0 api и имел аналогичные проблемы с 2.0 api. Ниже приведена исключая из документации по контактам Google 2.0 .

Чтобы определить идентификатор группы «Мои контакты», например, вы можете получить канал всех групп для данного пользователя, затем найти запись группы, которая имеет подэлемент, и взять значение элемента этой группы.

В настоящее время ответ, который я получаю, не имеет тега gContact: systemGroup в любом месте. Как я должен действовать, чтобы получить идентификатор группы определенной группы?

Мой сценарий показан ниже:

user="blah@gmail.com" pas="blah" data={"Email":user, "Passwd":pas, "service": "cp", "source":"tester"} import urllib data = urllib.urlencode(data) import urllib2 req = urllib2.Request('https://www.google.com/accounts/ClientLogin', data) resp = urllib2.urlopen(req) x = resp.read() auth=a[-1].split('=')[-1] req = urllib2.Request('https://www.google.com/m8/feeds/groups/blah@gmail.com/full/', headers={'Authorization':'GoogleLogin auth='+auth}) resp = urllib2.urlopen(req) x = resp.read() print x print "My Contacts" in x print "gContact:systemGroup" in x 

Некоторые подсказки о том, как я могу устранить эту проблему, были бы замечательными, спасибо.

One Solution collect form web for “Группа "Мои контакты" google contacts”

Почему бы не использовать клиентскую библиотеку Python напрямую? Он включает в себя набор методов, которые делают именно то , что вы хотите.

 import gdata.contacts.client import gdata.contacts.data # you might also need atom.data, gdata.data gd_client = gdata.contacts.data.ContactsClient(source='eQuiNoX_Contacts') gd_client.ClientLogin('equinox@gmail.com', '**password**') feed = gd_client.GetGroups() for entry in feed.entry: print 'Atom Id: %s' % group.id.text print 'Group Name: %s' % group.title.text if not entry.system_group: print 'Edit Link: %s' % entry.GetEditLink().href print 'ETag: %s' % entry.etag else: print 'System Group Id: %s' % entry.system_group.id 

Помогает ли это решить вашу проблему? Это чище, в некотором роде. Если у вас все еще есть проблемы с:

… по какой-то причине «Мои контакты» не отображаются …

затем из документации:

Примечание. Канал может не содержать всех контактных групп пользователя, потому что существует ограничение по умолчанию на число возвращаемых результатов. Для получения дополнительной информации см. Параметр запроса максимального результата в разделе Получение групп контактов с использованием параметров запроса .

Примечание. Более новая документация включает пример кода Python бок о бок с объяснением протокола; код Python помогает мне обернуть голову вокруг общего протокола.

  • Drive SDK не перечисляет все мои файлы
  • Загружать изображения / видео в хранилище Google Cloud с помощью Google App Engine
  • Ошибка синтаксического анализа запроса предка
  • Python, что это означает? Объект AttributeError: 'unicode' не имеет атрибута 'has_key'
  • Как вы издеваетесь над сервисом пользователя в App Engine?
  • Как зарегистрировать механизм приложения google для клиента xmpp?
  • Django 1.7 в App Engine "ImportError: нет модуля с именем msvcrt"
  • GAE: Как долго ждать возможной согласованности?
  • Python - лучший язык программирования в мире.