开发者

I'm not being able to access some GData Contacts properties, such as gender

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.appe开发者_如何学Pythonngine

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜