1

私は連絡先を取得しようとしていますgdata.contacts.client:

認証:

class ModifyMe(webapp.RequestHandler):

    @login_required
    def get(self):
        """print contacts"""
        current_user = users.get_current_user()
        access_token_key = 'access_token_%s' % current_user.user_id()
        token = gdata.gauth.ae_load(access_token_key)
        gcontacts_client = gdata.contacts.client.ContactsClient(source = SETTINGS['APP_NAME'])
        gcontacts_client = token.authorize(gcontacts_client)

APIドキュメントによると、私はこれを試しました:

        contact = gcontacts_client.GetContact('https://www.google.com/m8/feeds/contacts/yohann%40mail.info/base/2e091c5e9b3d60b4')

しかし、私はこのエラーがありました:

Traceback (most recent call last):
  File "/base/data/home/apps/s~yoyocontacts/2.359462823193148133/main.py", line 246, in PrintContact
    contact = gd_client.GetContacts('https://www.google.com/m8/feeds/contacts/yohann%mail.info/base/2e091c5e9b3d60b4')
  File "/base/data/home/apps/s~yoyocontacts/2.359462823193148133/gdata/contacts/client.py", line 201, in get_contacts
    desired_class=desired_class, **kwargs)
  File "/base/data/home/apps/s~yoyocontacts/2.359462823193148133/gdata/client.py", line 640, in get_feed
    **kwargs)
  File "/base/data/home/apps/s~yoyocontacts/2.359462823193148133/gdata/client.py", line 319, in request
    RequestError)
RequestError: Server responded with: 400, 

わかりました、もう一度やり直してください:

        contact = gcontacts_client.GetContact('www.google.com/m8/feeds/contacts/yohann%40mail.info/base/2e091c5e9b3d60b4')

その他のエラー:

Traceback (most recent call last):
  File "/base/data/home/apps/s~yoyocontacts/2.359462880270555204/main.py", line 246, in PrintContact
    contact = gd_client.GetContact('www.google.com/m8/feeds/contacts/yohann%40lepage.info/base/2e091c5e8b3760b4')
  File "/base/data/home/apps/s~yoyocontacts/2.359462880270555204/gdata/contacts/client.py", line 89, in get_contact
    desired_class=desired_class, **kwargs)
  File "/base/data/home/apps/s~yoyocontacts/2.359462880270555204/gdata/client.py", line 652, in get_entry
    desired_class=desired_class, **kwargs)
  File "/base/data/home/apps/s~yoyocontacts/2.359462880270555204/gdata/client.py", line 267, in request
    uri=uri, auth_token=auth_token, http_request=http_request, **kwargs)
  File "/base/data/home/apps/s~yoyocontacts/2.359462880270555204/atom/client.py", line 119, in request
    http_request.method, str(http_request.uri)))
MissingHost: No host provided in request GET https://Nonewww.google.com/m8/feeds/contacts/yohann%40mail.info/base/2e091c5e8b3760b4

あっ、待って !https://なしwww.google.com/m8/feeds/contacts/yohann%40mail.info/base/2e091c5e8b3760b4

この動作を修正するにはどうすればよいですか? https:// と uri の間にNoneがあるのはなぜですか?

PS:feed_groups = gd_client.GetGroup(group_url)魅力のように機能します...

PS :ソースファイルソースファイル機能 ModifyMe

4

1 に答える 1

1

間違った URL を使用していると思います。正しい URL は次のようになります。

https://www.google.com/m8/feeds/contacts/<email>/base/<contactId>

連絡先を要求しているユーザーの電子メール アドレスはどこ<email>にありますか (明らかに、これらの連絡先にアクセスする権限が必要です)。このフィールドは、現在認証されているユーザーの電子メール アドレスを置き換えるために、値 "default" を想定することもできます。

contactIdAPI によって返される連絡先の識別子です。私はあなたがこれを正しく理解したと思います。

また、プロトコルがhttpsであり、 ではないことを確認してくださいhttp

于 2012-06-07T22:03:03.127 に答える