gdata.contacts.client | index /usr/local/svn/gdata-python-client/src/gdata/contacts/client.py

`# Copyright (C) 2009 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.`

Modules

``

atom | gdata |  |

Classes

``

gdata.client.GDClient(atom.client.AtomPubClient)
  ContactsClient
gdata.client.Query(__builtin__.object)
  ContactsQuery
  ProfilesQuery

class ContactsClient(gdata.client.GDClient)

``

Method resolution order:
  ContactsClient
  gdata.client.GDClient
  atom.client.AtomPubClient
  __builtin__.object

Methods defined here:

AddContact = add_contact(self, new_contact, insert_uri=None, auth_token=None, billing_information=None, birthday=None, calendar_link=None, **kwargs)

ChangePhoto = change_photo(self, media, contact_entry_or_url, content_type=None, content_length=None)

CreateContact = create_contact(self, new_contact, insert_uri=None, auth_token=None, **kwargs)

CreateGroup = create_group(self, new_group, insert_uri=None, url_params=None, desired_class=None)

DeleteGroup = delete_group(self, edit_uri, extra_headers=None, url_params=None, escape_params=True)

DeletePhoto = delete_photo(self, contact_entry_or_url)

ExecuteBatch = execute_batch(self, batch_feed, url, desired_class=None)

ExecuteBatchProfiles = execute_batch_profiles(self, batch_feed, url, desired_class=<function ProfilesFeedFromString at 0xbec500>)

GetContact = get_contact(self, uri, desired_class=<class 'gdata.contacts.data.ContactEntry'>, auth_token=None, **kwargs)

GetContacts = get_contacts(self, desired_class=<class 'gdata.contacts.data.ContactsFeed'>, auth_token=None, **kwargs)

GetFeedUri = get_feed_uri(self, kind='contacts', contact_list=None, projection='full', scheme='http')

GetGroup = get_group(self, uri=None, desired_class=<class 'gdata.contacts.data.GroupEntry'>, auth_token=None, **kwargs)

GetGroups = get_groups(self, uri=None, desired_class=<class 'gdata.contacts.data.GroupsFeed'>, auth_token=None, **kwargs)

GetPhoto = get_photo(self, contact_entry_or_url)

GetProfile = get_profile(self, uri)

GetProfilesFeed = get_profiles_feed(self, uri=None)

UpdateGroup = update_group(self, edit_uri, updated_group, url_params=None, escape_params=True, desired_class=None)

UpdateProfile = update_profile(self, edit_uri, updated_profile, auth_token=None, **kwargs)

add_contact(self, new_contact, insert_uri=None, auth_token=None, billing_information=None, birthday=None, calendar_link=None, **kwargs)
  `Adds an new contact to Google Contacts.
  Args:
  new_contact: atom.Entry or subclass A new contact which is to be added to
  Google Contacts.
  insert_uri: the URL to post new contacts to the feed
  url_params: dict (optional) Additional URL parameters to be included
  in the insertion request.
  escape_params: boolean (optional) If true, the url_parameters will be
  escaped before they are included in the request.
  Returns:
  On successful insert, an entry containing the contact created
  On failure, a RequestError is raised of the form:
  {'status': HTTP status code from server,
  'reason': HTTP reason from the server,
  'body': HTTP body of the server's response}`

change_photo(self, media, contact_entry_or_url, content_type=None, content_length=None)
  `Change the photo for the contact by uploading a new photo.
  Performs a PUT against the photo edit URL to send the binary data for the
  photo.
  Args:
  media: filename, file-like-object, or a gdata.MediaSource object to send.
  contact_entry_or_url: ContactEntry or str If it is a ContactEntry, this
  method will search for an edit photo link URL and
  perform a PUT to the URL.
  content_type: str (optional) the mime type for the photo data. This is
  necessary if media is a file or file name, but if media
  is a MediaSource object then the media object can contain
  the mime type. If media_type is set, it will override the
  mime type in the media object.
  content_length: int or str (optional) Specifying the content length is
  only required if media is a file-like object. If media
  is a filename, the length is determined using
  os.path.getsize. If media is a MediaSource object, it is
  assumed that it already contains the content length.`

create_contact(self, new_contact, insert_uri=None, auth_token=None, **kwargs)
  `Adds an new contact to Google Contacts.
  Args:
  new_contact: atom.Entry or subclass A new contact which is to be added to
  Google Contacts.
  insert_uri: the URL to post new contacts to the feed
  url_params: dict (optional) Additional URL parameters to be included
  in the insertion request.
  escape_params: boolean (optional) If true, the url_parameters will be
  escaped before they are included in the request.
  Returns:
  On successful insert, an entry containing the contact created
  On failure, a RequestError is raised of the form:
  {'status': HTTP status code from server,
  'reason': HTTP reason from the server,
  'body': HTTP body of the server's response}`

create_group(self, new_group, insert_uri=None, url_params=None, desired_class=None)

delete_group(self, edit_uri, extra_headers=None, url_params=None, escape_params=True)

delete_photo(self, contact_entry_or_url)

execute_batch(self, batch_feed, url, desired_class=None)
  `Sends a batch request feed to the server.
  Args:
  batch_feed: gdata.contacts.ContactFeed A feed containing batch
  request entries. Each entry contains the operation to be performed
  on the data contained in the entry. For example an entry with an
  operation type of insert will be used as if the individual entry
  had been inserted.
  url: str The batch URL to which these operations should be applied.
  converter: Function (optional) The function used to convert the server's
  response to an object.
  Returns:
  The results of the batch request's execution on the server. If the
  default converter is used, this is stored in a ContactsFeed.`

execute_batch_profiles(self, batch_feed, url, desired_class=<function ProfilesFeedFromString at 0xbec500>)
  `Sends a batch request feed to the server.
  Args:
  batch_feed: gdata.profiles.ProfilesFeed A feed containing batch
  request entries. Each entry contains the operation to be performed
  on the data contained in the entry. For example an entry with an
  operation type of insert will be used as if the individual entry
  had been inserted.
  url: string The batch URL to which these operations should be applied.
  converter: Function (optional) The function used to convert the server's
  response to an object. The default value is
  gdata.profiles.ProfilesFeedFromString.
  Returns:
  The results of the batch request's execution on the server. If the
  default converter is used, this is stored in a ProfilesFeed.`

get_contact(self, uri, desired_class=<class 'gdata.contacts.data.ContactEntry'>, auth_token=None, **kwargs)

get_contacts(self, desired_class=<class 'gdata.contacts.data.ContactsFeed'>, auth_token=None, **kwargs)
  `Obtains a feed with the contacts belonging to the current user.
  Args:
  auth_token: An object which sets the Authorization HTTP header in its
  modify_request method. Recommended classes include
  gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken
  among others. Represents the current user. Defaults to None
  and if None, this method will look for a value in the
  auth_token member of SpreadsheetsClient.
  desired_class: class descended from atom.core.XmlElement to which a
  successful response should be converted. If there is no
  converter function specified (desired_class=None) then the
  desired_class will be used in calling the
  atom.core.parse function. If neither
  the desired_class nor the converter is specified, an
  HTTP reponse object will be returned. Defaults to
  gdata.spreadsheets.data.SpreadsheetsFeed.`

get_feed_uri(self, kind='contacts', contact_list=None, projection='full', scheme='http')
  `Builds a feed URI.
  Args:
  kind: The type of feed to return, typically 'groups' or 'contacts'.
  Default value: 'contacts'.
  contact_list: The contact list to return a feed for.
  Default value: self.contact_list.
  projection: The projection to apply to the feed contents, for example
  'full', 'base', 'base/12345', 'full/batch'. Default value: 'full'.
  scheme: The URL scheme such as 'http' or 'https', None to return a
  relative URI without hostname.
  Returns:
  A feed URI using the given kind, contact list, and projection.
  Example: '/m8/feeds/contacts/default/full'.`

get_group(self, uri=None, desired_class=<class 'gdata.contacts.data.GroupEntry'>, auth_token=None, **kwargs)
  `Get a single groups details
  Args:
  uri: the group uri or id`

get_groups(self, uri=None, desired_class=<class 'gdata.contacts.data.GroupsFeed'>, auth_token=None, **kwargs)

get_photo(self, contact_entry_or_url)
  `Retrives the binary data for the contact's profile photo as a string.
  Args:
  contact_entry_or_url: a gdata.contacts.ContactEntry objecr or a string
  containing the photo link's URL. If the contact entry does not
  contain a photo link, the image will not be fetched and this method
  will return None.`

get_profile(self, uri)
  `Retrieves a domain's profile for the user.
  Args:
  uri: string the URL to retrieve the profiles feed,
  for example /m8/feeds/profiles/default/full/username
  Returns:
  On success, a ProfileEntry containing the profile for the user.
  On failure, raises a RequestError`

get_profiles_feed(self, uri=None)
  `Retrieves a feed containing all domain's profiles.
  Args:
  uri: string (optional) the URL to retrieve the profiles feed,
  for example /m8/feeds/profiles/default/full
  Returns:
  On success, a ProfilesFeed containing the profiles.
  On failure, raises a RequestError.`

update_group(self, edit_uri, updated_group, url_params=None, escape_params=True, desired_class=None)

update_profile(self, edit_uri, updated_profile, auth_token=None, **kwargs)
  `Updates an existing profile.
  Args:
  edit_uri: string The edit link URI for the element being updated
  updated_profile: string atom.Entry or subclass containing
  the Atom Entry which will replace the profile which is
  stored at the edit_url.
  url_params: dict (optional) Additional URL parameters to be included
  in the update request.
  escape_params: boolean (optional) If true, the url_params will be
  escaped before they are included in the request.
  Returns:
  On successful update, a httplib.HTTPResponse containing the server's
  response to the PUT request.
  On failure, raises a RequestError.`

Data and other attributes defined here:

api_version = '3'

auth_scopes = ('https://www.google.com/m8/feeds/', 'http://www.google.com/m8/feeds/')

auth_service = 'cp'

contact_list = 'default'

server = 'www.google.com'

Methods inherited from gdata.client.GDClient:

ClientLogin = client_login(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbd3950>, captcha_token=None, captcha_response=None)
  `Performs an auth request using the user's email address and password.
  In order to modify user specific data and read user private data, your
  application must be authorized by the user. One way to demonstrage
  authorization is by including a Client Login token in the Authorization
  HTTP header of all requests. This method requests the Client Login token
  by sending the user's email address, password, the name of the
  application, and the service code for the service which will be accessed
  by the application. If the username and password are correct, the server
  will respond with the client login code and a new ClientLoginToken
  object will be set in the client's auth_token member. With the auth_token
  set, future requests from this client will include the Client Login
  token.
  For a list of service names, see
  http://code.google.com/apis/gdata/faq.html#clientlogin
  For more information on Client Login, see:
  http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html
  Args:
  email: str The user's email address or username.
  password: str The password for the user's account.
  source: str The name of your application. This can be anything you
  like but should should give some indication of which app is
  making the request.
  service: str The service code for the service you would like to access.
  For example, 'cp' for contacts, 'cl' for calendar. For a full
  list see
  http://code.google.com/apis/gdata/faq.html#clientlogin
  If you are using a subclass of the gdata.client.GDClient, the
  service will usually be filled in for you so you do not need
  to specify it. For example see BloggerClient,
  SpreadsheetsClient, etc.
  account_type: str (optional) The type of account which is being
  authenticated. This can be either 'GOOGLE' for a Google
  Account, 'HOSTED' for a Google Apps Account, or the
  default 'HOSTED_OR_GOOGLE' which will select the Google
  Apps Account if the same email address is used for both
  a Google Account and a Google Apps Account.
  auth_url: str (optional) The URL to which the login request should be
  sent.
  captcha_token: str (optional) If a previous login attempt was reponded
  to with a CAPTCHA challenge, this is the token which
  identifies the challenge (from the CAPTCHA's URL).
  captcha_response: str (optional) If a previous login attempt was
  reponded to with a CAPTCHA challenge, this is the
  response text which was contained in the challenge.
  Returns:
  None
  Raises:
  A RequestError or one of its suclasses: BadAuthentication,
  BadAuthenticationServiceURL, ClientLoginFailed,
  ClientLoginTokenMissing, or CaptchaChallenge`

Delete = delete(self, entry_or_uri, auth_token=None, force=False, **kwargs)

GetAccessToken = get_access_token(self, request_token, url='https://www.google.com/accounts/OAuthGetAccessToken')
  `Exchanges an authorized OAuth request token for an access token.
  Contacts the Google OAuth server to upgrade a previously authorized
  request token. Once the request token is upgraded to an access token,
  the access token may be used to access the user's data.
  For more details, see the Google Accounts OAuth documentation:
  http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken
  Args:
  request_token: An OAuth token which has been authorized by the user.
  url: (optional) The URL to which the upgrade request should be sent.
  Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken`

GetEntry = get_entry(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDEntry'>, etag=None, **kwargs)

GetFeed = get_feed(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDFeed'>, **kwargs)

GetNext = get_next(self, feed, auth_token=None, converter=None, desired_class=None, **kwargs)
  `Fetches the next set of results from the feed.
  When requesting a feed, the number of entries returned is capped at a
  service specific default limit (often 25 entries). You can specify your
  own entry-count cap using the max-results URL query parameter. If there
  are more results than could fit under max-results, the feed will contain
  a next link. This method performs a GET against this next results URL.
  Returns:
  A new feed object containing the next set of entries in this feed.`

GetOAuthToken = get_oauth_token(self, scopes, next, consumer_key, consumer_secret=None, rsa_private_key=None, url='https://www.google.com/accounts/OAuthGetRequestToken')
  `Obtains an OAuth request token to allow the user to authorize this app.
  Once this client has a request token, the user can authorize the request
  token by visiting the authorization URL in their browser. After being
  redirected back to this app at the 'next' URL, this app can then exchange
  the authorized request token for an access token.
  For more information see the documentation on Google Accounts with OAuth:
  http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess
  Args:
  scopes: list of strings or atom.http_core.Uri objects which specify the
  URL prefixes which this app will be accessing. For example, to access
  the Google Calendar API, you would want to use scopes:
  ['https://www.google.com/calendar/feeds/',
  'http://www.google.com/calendar/feeds/']
  next: str or atom.http_core.Uri object, The URL which the user's browser
  should be sent to after they authorize access to their data. This
  should be a URL in your application which will read the token
  information from the URL and upgrade the request token to an access
  token.
  consumer_key: str This is the identifier for this application which you
  should have received when you registered your application with Google
  to use OAuth.
  consumer_secret: str (optional) The shared secret between your app and
  Google which provides evidence that this request is coming from you
  application and not another app. If present, this libraries assumes
  you want to use an HMAC signature to verify requests. Keep this data
  a secret.
  rsa_private_key: str (optional) The RSA private key which is used to
  generate a digital signature which is checked by Google's server. If
  present, this library assumes that you want to use an RSA signature
  to verify requests. Keep this data a secret.
  url: The URL to which a request for a token should be made. The default
  is Google's OAuth request token provider.`

ModifyRequest = modify_request(self, http_request)
  `Adds or changes request before making the HTTP request.
  This client will add the API version if it is specified.
  Subclasses may override this method to add their own request
  modifications before the request is made.`

Post = post(self, entry, uri, auth_token=None, converter=None, desired_class=None, **kwargs)

Request = request(self, method=None, uri=None, auth_token=None, http_request=None, converter=None, desired_class=None, redirects_remaining=4, **kwargs)
  `Make an HTTP request to the server.
  See also documentation for atom.client.AtomPubClient.request.
  If a 302 redirect is sent from the server to the client, this client
  assumes that the redirect is in the form used by the Google Calendar API.
  The same request URI and method will be used as in the original request,
  but a gsessionid URL parameter will be added to the request URI with
  the value provided in the server's 302 redirect response. If the 302
  redirect is not in the format specified by the Google Calendar API, a
  RedirectError will be raised containing the body of the server's
  response.
  The method calls the client's modify_request method to make any changes
  required by the client before the request is made. For example, a
  version 2 client could add a GData-Version: 2 header to the request in
  its modify_request method.
  Args:
  method: str The HTTP verb for this request, usually 'GET', 'POST',
  'PUT', or 'DELETE'
  uri: atom.http_core.Uri, str, or unicode The URL being requested.
  auth_token: An object which sets the Authorization HTTP header in its
  modify_request method. Recommended classes include
  gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken
  among others.
  http_request: (optional) atom.http_core.HttpRequest
  converter: function which takes the body of the response as it's only
  argument and returns the desired object.
  desired_class: class descended from atom.core.XmlElement to which a
  successful response should be converted. If there is no
  converter function specified (converter=None) then the
  desired_class will be used in calling the
  atom.core.parse function. If neither
  the desired_class nor the converter is specified, an
  HTTP reponse object will be returned.
  redirects_remaining: (optional) int, if this number is 0 and the
  server sends a 302 redirect, the request method
  will raise an exception. This parameter is used in
  recursive request calls to avoid an infinite loop.
  Any additional arguments are passed through to
  atom.client.AtomPubClient.request.
  Returns:
  An HTTP response object (see atom.http_core.HttpResponse for a
  description of the object's interface) if no converter was
  specified and no desired_class was specified. If a converter function
  was provided, the results of calling the converter are returned. If no
  converter was specified but a desired_class was provided, the response
  body will be converted to the class using
  atom.core.parse.`

RequestClientLoginToken = request_client_login_token(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbd3910>, captcha_token=None, captcha_response=None)

RevokeToken = revoke_token(self, token=None, url=<atom.http_core.Uri object at 0xbd39d0>)
  `Requests that the token be invalidated.
  This method can be used for both AuthSub and OAuth tokens (to invalidate
  a ClientLogin token, the user must change their password).
  Returns:
  True if the server responded with a 200.
  Raises:
  A RequestError if the server responds with a non-200 status.`

Update = update(self, entry, auth_token=None, force=False, **kwargs)
  `Edits the entry on the server by sending the XML for this entry.
  Performs a PUT and converts the response to a new entry object with a
  matching class to the entry passed in.
  Args:
  entry:
  auth_token:
  force: boolean stating whether an update should be forced. Defaults to
  False. Normally, if a change has been made since the passed in
  entry was obtained, the server will not overwrite the entry since
  the changes were based on an obsolete version of the entry.
  Setting force to True will cause the update to silently
  overwrite whatever version is present.
  Returns:
  A new Entry object of a matching type to the entry which was passed in.`

UpgradeToken = upgrade_token(self, token=None, url=<atom.http_core.Uri object at 0xbd3990>)
  `Asks the Google auth server for a multi-use AuthSub token.
  For details on AuthSub, see:
  http://code.google.com/apis/accounts/docs/AuthSub.html
  Args:
  token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken
  (optional) If no token is passed in, the client's auth_token member
  is used to request the new token. The token object will be modified
  to contain the new session token string.
  url: str or atom.http_core.Uri (optional) The URL to which the token
  upgrade request should be sent. Defaults to:
  https://www.google.com/accounts/AuthSubSessionToken
  Returns:
  The upgraded gdata.gauth.AuthSubToken object.`

client_login(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbd3950>, captcha_token=None, captcha_response=None)
  `Performs an auth request using the user's email address and password.
  In order to modify user specific data and read user private data, your
  application must be authorized by the user. One way to demonstrage
  authorization is by including a Client Login token in the Authorization
  HTTP header of all requests. This method requests the Client Login token
  by sending the user's email address, password, the name of the
  application, and the service code for the service which will be accessed
  by the application. If the username and password are correct, the server
  will respond with the client login code and a new ClientLoginToken
  object will be set in the client's auth_token member. With the auth_token
  set, future requests from this client will include the Client Login
  token.
  For a list of service names, see
  http://code.google.com/apis/gdata/faq.html#clientlogin
  For more information on Client Login, see:
  http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html
  Args:
  email: str The user's email address or username.
  password: str The password for the user's account.
  source: str The name of your application. This can be anything you
  like but should should give some indication of which app is
  making the request.
  service: str The service code for the service you would like to access.
  For example, 'cp' for contacts, 'cl' for calendar. For a full
  list see
  http://code.google.com/apis/gdata/faq.html#clientlogin
  If you are using a subclass of the gdata.client.GDClient, the
  service will usually be filled in for you so you do not need
  to specify it. For example see BloggerClient,
  SpreadsheetsClient, etc.
  account_type: str (optional) The type of account which is being
  authenticated. This can be either 'GOOGLE' for a Google
  Account, 'HOSTED' for a Google Apps Account, or the
  default 'HOSTED_OR_GOOGLE' which will select the Google
  Apps Account if the same email address is used for both
  a Google Account and a Google Apps Account.
  auth_url: str (optional) The URL to which the login request should be
  sent.
  captcha_token: str (optional) If a previous login attempt was reponded
  to with a CAPTCHA challenge, this is the token which
  identifies the challenge (from the CAPTCHA's URL).
  captcha_response: str (optional) If a previous login attempt was
  reponded to with a CAPTCHA challenge, this is the
  response text which was contained in the challenge.
  Returns:
  None
  Raises:
  A RequestError or one of its suclasses: BadAuthentication,
  BadAuthenticationServiceURL, ClientLoginFailed,
  ClientLoginTokenMissing, or CaptchaChallenge`

delete(self, entry_or_uri, auth_token=None, force=False, **kwargs)

get_access_token(self, request_token, url='https://www.google.com/accounts/OAuthGetAccessToken')
  `Exchanges an authorized OAuth request token for an access token.
  Contacts the Google OAuth server to upgrade a previously authorized
  request token. Once the request token is upgraded to an access token,
  the access token may be used to access the user's data.
  For more details, see the Google Accounts OAuth documentation:
  http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken
  Args:
  request_token: An OAuth token which has been authorized by the user.
  url: (optional) The URL to which the upgrade request should be sent.
  Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken`

get_entry(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDEntry'>, etag=None, **kwargs)

get_feed(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDFeed'>, **kwargs)

get_next(self, feed, auth_token=None, converter=None, desired_class=None, **kwargs)
  `Fetches the next set of results from the feed.
  When requesting a feed, the number of entries returned is capped at a
  service specific default limit (often 25 entries). You can specify your
  own entry-count cap using the max-results URL query parameter. If there
  are more results than could fit under max-results, the feed will contain
  a next link. This method performs a GET against this next results URL.
  Returns:
  A new feed object containing the next set of entries in this feed.`

get_oauth_token(self, scopes, next, consumer_key, consumer_secret=None, rsa_private_key=None, url='https://www.google.com/accounts/OAuthGetRequestToken')
  `Obtains an OAuth request token to allow the user to authorize this app.
  Once this client has a request token, the user can authorize the request
  token by visiting the authorization URL in their browser. After being
  redirected back to this app at the 'next' URL, this app can then exchange
  the authorized request token for an access token.
  For more information see the documentation on Google Accounts with OAuth:
  http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess
  Args:
  scopes: list of strings or atom.http_core.Uri objects which specify the
  URL prefixes which this app will be accessing. For example, to access
  the Google Calendar API, you would want to use scopes:
  ['https://www.google.com/calendar/feeds/',
  'http://www.google.com/calendar/feeds/']
  next: str or atom.http_core.Uri object, The URL which the user's browser
  should be sent to after they authorize access to their data. This
  should be a URL in your application which will read the token
  information from the URL and upgrade the request token to an access
  token.
  consumer_key: str This is the identifier for this application which you
  should have received when you registered your application with Google
  to use OAuth.
  consumer_secret: str (optional) The shared secret between your app and
  Google which provides evidence that this request is coming from you
  application and not another app. If present, this libraries assumes
  you want to use an HMAC signature to verify requests. Keep this data
  a secret.
  rsa_private_key: str (optional) The RSA private key which is used to
  generate a digital signature which is checked by Google's server. If
  present, this library assumes that you want to use an RSA signature
  to verify requests. Keep this data a secret.
  url: The URL to which a request for a token should be made. The default
  is Google's OAuth request token provider.`

modify_request(self, http_request)
  `Adds or changes request before making the HTTP request.
  This client will add the API version if it is specified.
  Subclasses may override this method to add their own request
  modifications before the request is made.`

post(self, entry, uri, auth_token=None, converter=None, desired_class=None, **kwargs)

request(self, method=None, uri=None, auth_token=None, http_request=None, converter=None, desired_class=None, redirects_remaining=4, **kwargs)
  `Make an HTTP request to the server.
  See also documentation for atom.client.AtomPubClient.request.
  If a 302 redirect is sent from the server to the client, this client
  assumes that the redirect is in the form used by the Google Calendar API.
  The same request URI and method will be used as in the original request,
  but a gsessionid URL parameter will be added to the request URI with
  the value provided in the server's 302 redirect response. If the 302
  redirect is not in the format specified by the Google Calendar API, a
  RedirectError will be raised containing the body of the server's
  response.
  The method calls the client's modify_request method to make any changes
  required by the client before the request is made. For example, a
  version 2 client could add a GData-Version: 2 header to the request in
  its modify_request method.
  Args:
  method: str The HTTP verb for this request, usually 'GET', 'POST',
  'PUT', or 'DELETE'
  uri: atom.http_core.Uri, str, or unicode The URL being requested.
  auth_token: An object which sets the Authorization HTTP header in its
  modify_request method. Recommended classes include
  gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken
  among others.
  http_request: (optional) atom.http_core.HttpRequest
  converter: function which takes the body of the response as it's only
  argument and returns the desired object.
  desired_class: class descended from atom.core.XmlElement to which a
  successful response should be converted. If there is no
  converter function specified (converter=None) then the
  desired_class will be used in calling the
  atom.core.parse function. If neither
  the desired_class nor the converter is specified, an
  HTTP reponse object will be returned.
  redirects_remaining: (optional) int, if this number is 0 and the
  server sends a 302 redirect, the request method
  will raise an exception. This parameter is used in
  recursive request calls to avoid an infinite loop.
  Any additional arguments are passed through to
  atom.client.AtomPubClient.request.
  Returns:
  An HTTP response object (see atom.http_core.HttpResponse for a
  description of the object's interface) if no converter was
  specified and no desired_class was specified. If a converter function
  was provided, the results of calling the converter are returned. If no
  converter was specified but a desired_class was provided, the response
  body will be converted to the class using
  atom.core.parse.`

request_client_login_token(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbd3910>, captcha_token=None, captcha_response=None)

revoke_token(self, token=None, url=<atom.http_core.Uri object at 0xbd39d0>)
  `Requests that the token be invalidated.
  This method can be used for both AuthSub and OAuth tokens (to invalidate
  a ClientLogin token, the user must change their password).
  Returns:
  True if the server responded with a 200.
  Raises:
  A RequestError if the server responds with a non-200 status.`

update(self, entry, auth_token=None, force=False, **kwargs)
  `Edits the entry on the server by sending the XML for this entry.
  Performs a PUT and converts the response to a new entry object with a
  matching class to the entry passed in.
  Args:
  entry:
  auth_token:
  force: boolean stating whether an update should be forced. Defaults to
  False. Normally, if a change has been made since the passed in
  entry was obtained, the server will not overwrite the entry since
  the changes were based on an obsolete version of the entry.
  Setting force to True will cause the update to silently
  overwrite whatever version is present.
  Returns:
  A new Entry object of a matching type to the entry which was passed in.`

upgrade_token(self, token=None, url=<atom.http_core.Uri object at 0xbd3990>)
  `Asks the Google auth server for a multi-use AuthSub token.
  For details on AuthSub, see:
  http://code.google.com/apis/accounts/docs/AuthSub.html
  Args:
  token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken
  (optional) If no token is passed in, the client's auth_token member
  is used to request the new token. The token object will be modified
  to contain the new session token string.
  url: str or atom.http_core.Uri (optional) The URL to which the token
  upgrade request should be sent. Defaults to:
  https://www.google.com/accounts/AuthSubSessionToken
  Returns:
  The upgraded gdata.gauth.AuthSubToken object.`

Methods inherited from atom.client.AtomPubClient:

Get = get(self, uri=None, auth_token=None, http_request=None, **kwargs)
  `Performs a request using the GET method, returns an HTTP response.`

Put = put(self, uri=None, data=None, auth_token=None, http_request=None, **kwargs)
  `Sends data using the PUT method, returns an HTTP response.`

__init__(self, http_client=None, host=None, auth_token=None, source=None, **kwargs)
  `Creates a new AtomPubClient instance.
  Args:
  source: The name of your application.
  http_client: An object capable of performing HTTP requests through a
  request method. This object is used to perform the request
  when the AtomPubClient's request method is called. Used to
  allow HTTP requests to be directed to a mock server, or use
  an alternate library instead of the default of httplib to
  make HTTP requests.
  host: str The default host name to use if a host is not specified in the
  requested URI.
  auth_token: An object which sets the HTTP Authorization header when its
  modify_request method is called.`

get(self, uri=None, auth_token=None, http_request=None, **kwargs)
  `Performs a request using the GET method, returns an HTTP response.`

put(self, uri=None, data=None, auth_token=None, http_request=None, **kwargs)
  `Sends data using the PUT method, returns an HTTP response.`

Data descriptors inherited from atom.client.AtomPubClient:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

Data and other attributes inherited from atom.client.AtomPubClient:

auth_token = None

host = None

ssl = False

class ContactsQuery(gdata.client.Query)
`` | `Create a custom Contacts Query Full specs can be found at: U{Contacts query parameters reference <http://code.google.com/apis/contacts/docs/3.0/reference.html#Parameters>}`

Method resolution order:
  ContactsQuery
  gdata.client.Query
  __builtin__.object

Methods defined here:

ModifyRequest = modify_request(self, http_request)

__init__(self, feed=None, group=None, orderby=None, showdeleted=None, sortorder=None, requirealldeleted=None, **kwargs)
  `@param max_results: The maximum number of entries to return. If you want
  to receive all of the contacts, rather than only the default maximum, you
  can specify a very large number for max-results.
  @param start-index: The 1-based index of the first result to be retrieved.
  @param updated-min: The lower bound on entry update dates.
  @param group: Constrains the results to only the contacts belonging to the
  group specified. Value of this parameter specifies group ID
  @param orderby: Sorting criterion. The only supported value is
  lastmodified.
  @param showdeleted: Include deleted contacts in the returned contacts feed
  @pram sortorder: Sorting order direction. Can be either ascending or
  descending.
  @param requirealldeleted: Only relevant if showdeleted and updated-min
  are also provided. It dictates the behavior of the server in case it
  detects that placeholders of some entries deleted since the point in
  time specified as updated-min may have been lost.`

modify_request(self, http_request)

Data descriptors inherited from gdata.client.Query:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

class ProfilesQuery(gdata.client.Query)

``

Method resolution order:
  ProfilesQuery
  gdata.client.Query
  __builtin__.object

Methods defined here:

__init__(self, feed=None)

Methods inherited from gdata.client.Query:

ModifyRequest = modify_request(self, http_request)

modify_request(self, http_request)

Data descriptors inherited from gdata.client.Query:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

Data
`` |  | __author__ = 'vinces1979@gmail.com (Vince Spicer)'

Author
`` |  | vinces1979@gmail.com (Vince Spicer)