Here's the code:
def fetch_feed(self):
client = gdata.contacts.service.ContactsService()
client.ClientLogin(username, password) #Will change to AuthSub later.
query = gdata.contacts.service.ContactsQuery()
query.max_results = 3000
feed = client.GetContactsFeed(query.ToUri())
memcache.set('feed',feed, 3600)
return feed
feed = self.fetch_feed()
self.PrintFeed(feed)
def PrintFeed(self, feed):
for entry in feed.entry:
print entry.* #example... i can access properties such as entry.title, entry.id, entry.updated, but can't access a whole lot more.
What am i doing wrong, or what am i not doing at all? I posted the same question on the Apps API forum, just to clarify things.
EDIT Here's what i'm importing:
from google.appengine.api import memcache, users
from google.appengine.ext import db, webapp
from google.appengine.ext.webapp import util
import atom
import atom.url
import datetime
import gdata.alt.appengine
import gdata.contacts
import gdata.contacts.client
import gdata.contacts.data
import gdata.contacts.service
import gdata.client
import gdata.service
import settings
EDIT2: The error i got after fixing the qry typo:
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 511, in __call__
handler.get(*groups)
File "C:\etrebug\main.py", line 55, in get
feed = self.fetch_feed()
File "C:\etrebug\main.py", line 67, in fetch_feed
feed = client.get_contacts(qry)
File "C:\etrebug\gdata\contacts\client.py", line 194, in get_contacts
desired_class=desired_class, **kwargs)
File "C:\etrebug\gdata\client.py", line 635, in get_feed
**kwargs)
File "C:\etrebug\gdata\client.py", line 276, in request
version=get_xml_version(self.api_version))
File "C:\etrebug\atom\core.py", line 516, in parse
return _xml_element_from_tree(tree, target_class, version)
File "C:\etrebug\atom\core.py", line 525, in _xml_element_from_tree
if target_class._qname is None:
AttributeError: 'ContactsQuery' object has no attribute '_qname'
You can try the V3 client
client = gdata.contacts.client.ContactsClient()
client.client_login(usr, passwd, "myscript")
qry = gdata.contacts.client.ContactsQuery(max_results=3000)
feed = client.get_contacts(query=qry)
for entry in feed.entry:
# do something with entry