0

コードは次のとおりです。

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.

私は何を間違っているのですか、それともまったくしていないのですか? 明確にするために、Apps API フォーラムに同じ質問を投稿しました。

編集 これが私がインポートしているものです:

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 : qryのタイプミスを修正した後に得たエラー:

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'
4

1 に答える 1

6

V3 クライアントを試すことができます

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
于 2010-11-14T15:39:55.620 に答える