Repository URL to install this package:
|
Version:
2.1.0.jo1 ▾
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module gdata.apps.client</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="gdata.html"><font color="#ffffff">gdata</font></a>.<a href="gdata.apps.html"><font color="#ffffff">apps</font></a>.client</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/apps/client.py">/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/apps/client.py</a></font></td></tr></table>
<p><tt><a href="#AppsClient">AppsClient</a> adds Client Architecture to Provisioning API.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="gdata.html">gdata</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="gdata.client.html#GDClient">gdata.client.GDClient</a>(<a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="gdata.apps.client.html#AppsClient">AppsClient</a>
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="AppsClient">class <strong>AppsClient</strong></a>(<a href="gdata.client.html#GDClient">gdata.client.GDClient</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Client extension for the Google Provisioning API service.<br>
<br>
Attributes:<br>
host: string The hostname for the Provisioning API service.<br>
api_version: string The version of the Provisioning API.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="gdata.apps.client.html#AppsClient">AppsClient</a></dd>
<dd><a href="gdata.client.html#GDClient">gdata.client.GDClient</a></dd>
<dd><a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="AppsClient-CreateNickname"><strong>CreateNickname</strong></a>(self, user_name, nickname)</dt><dd><tt>Create a nickname for a user.<br>
<br>
Args:<br>
user_name: string user whose nickname is being created.<br>
nickname: string nickname.<br>
<br>
Returns:<br>
gdata.apps.data.NicknameEntry</tt></dd></dl>
<dl><dt><a name="AppsClient-CreateUser"><strong>CreateUser</strong></a>(self, user_name, family_name, given_name, password, suspended<font color="#909090">=False</font>, admin<font color="#909090">=None</font>, quota_limit<font color="#909090">=None</font>, password_hash_function<font color="#909090">=None</font>, agreed_to_terms<font color="#909090">=None</font>, change_password<font color="#909090">=None</font>)</dt><dd><tt>Create a user account.</tt></dd></dl>
<dl><dt><a name="AppsClient-DeleteNickname"><strong>DeleteNickname</strong></a>(self, nickname)</dt><dd><tt>Delete a nickname.</tt></dd></dl>
<dl><dt><a name="AppsClient-DeleteUser"><strong>DeleteUser</strong></a>(self, user_name)</dt><dd><tt>Delete a user account.</tt></dd></dl>
<dl><dt><a name="AppsClient-RetrieveAllPages"><strong>RetrieveAllPages</strong></a>(self, feed, desired_class<font color="#909090">=<class 'gdata.data.GDFeed'></font>)</dt><dd><tt>Retrieve all pages and add all elements.<br>
<br>
Args:<br>
feed: gdata.data.GDFeed object with linked elements.<br>
desired_class: type of feed to be returned.<br>
<br>
Returns:<br>
desired_class: subclass of gdata.data.GDFeed.</tt></dd></dl>
<dl><dt><a name="AppsClient-RetrieveAllUsers"><strong>RetrieveAllUsers</strong></a>(self)</dt><dd><tt>Retrieve all users in this domain.<br>
<br>
Returns:<br>
gdata.apps.data.UserFeed</tt></dd></dl>
<dl><dt><a name="AppsClient-RetrieveNickname"><strong>RetrieveNickname</strong></a>(self, nickname)</dt><dd><tt>Retrieve a nickname.<br>
<br>
Args:<br>
nickname: string nickname to be retrieved.<br>
<br>
Returns:<br>
gdata.apps.data.NicknameEntry</tt></dd></dl>
<dl><dt><a name="AppsClient-RetrieveNicknames"><strong>RetrieveNicknames</strong></a>(self, user_name)</dt><dd><tt>Retrieve nicknames of the user.<br>
<br>
Args:<br>
user_name: string user whose nicknames are retrieved.<br>
<br>
Returns:<br>
gdata.apps.data.NicknameFeed</tt></dd></dl>
<dl><dt><a name="AppsClient-RetrievePageOfUsers"><strong>RetrievePageOfUsers</strong></a>(self, start_username<font color="#909090">=None</font>)</dt><dd><tt>Retrieve one page of users in this domain.<br>
<br>
Args:<br>
start_username: string user to start from for retrieving a page of users.<br>
<br>
Returns:<br>
gdata.apps.data.UserFeed</tt></dd></dl>
<dl><dt><a name="AppsClient-RetrieveUser"><strong>RetrieveUser</strong></a>(self, user_name)</dt><dd><tt>Retrieve a user account.<br>
<br>
Args:<br>
user_name: string user_name to be retrieved.<br>
<br>
Returns:<br>
gdata.apps.data.UserEntry</tt></dd></dl>
<dl><dt><a name="AppsClient-UpdateUser"><strong>UpdateUser</strong></a>(self, user_name, user_entry)</dt><dd><tt>Update a user account.<br>
<br>
Args:<br>
user_name: string user_name to be updated.<br>
user_entry: gdata.apps.data.UserEntry updated user entry.<br>
<br>
Returns:<br>
gdata.apps.data.UserEntry</tt></dd></dl>
<dl><dt><a name="AppsClient-__init__"><strong>__init__</strong></a>(self, domain, auth_token<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Constructs a new client for the Provisioning API.<br>
<br>
Args:<br>
domain: string Google Apps domain name.<br>
auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or<br>
OAuthToken which authorizes client to make calls to Provisioning API.</tt></dd></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>api_version</strong> = '2.0'</dl>
<dl><dt><strong>auth_scopes</strong> = ('https://apps-apis.google.com/a/feeds/user/', 'https://apps-apis.google.com/a/feeds/policies/', 'https://apps-apis.google.com/a/feeds/alias/', 'https://apps-apis.google.com/a/feeds/groups/', 'https://apps-apis.google.com/a/feeds/compliance/audit/', 'https://apps-apis.google.com/a/feeds/migration/', 'https://apps-apis.google.com/a/feeds/emailsettings/2.0/')</dl>
<dl><dt><strong>auth_service</strong> = 'apps'</dl>
<dl><dt><strong>host</strong> = 'apps-apis.google.com'</dl>
<hr>
Methods inherited from <a href="gdata.client.html#GDClient">gdata.client.GDClient</a>:<br>
<dl><dt><a name="AppsClient-Batch"><strong>Batch</strong></a> = batch(self, feed, uri<font color="#909090">=None</font>, force<font color="#909090">=False</font>, auth_token<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends a batch request to the server to execute operation entries.<br>
<br>
Args:<br>
feed: A batch feed containing batch entries, each is an operation.<br>
uri: (optional) The uri to which the batch request feed should be POSTed.<br>
If none is provided, then the feed's edit link will be used.<br>
force: (optional) boolean set to True if you want the batch update to<br>
clobber all data. If False, the version in the information in the<br>
feed object will cause the server to check to see that no changes<br>
intervened between when you fetched the data and when you sent the<br>
changes.<br>
auth_token: (optional) An object which sets the Authorization HTTP header<br>
in its modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.</tt></dd></dl>
<dl><dt><a name="AppsClient-ClientLogin"><strong>ClientLogin</strong></a> = client_login(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt><dd><tt>Performs an auth request using the user's email address and password.<br>
<br>
In order to modify user specific data and read user private data, your<br>
application must be authorized by the user. One way to demonstrage<br>
authorization is by including a Client Login token in the Authorization<br>
HTTP header of all requests. This method requests the Client Login token<br>
by sending the user's email address, password, the name of the<br>
application, and the service code for the service which will be accessed<br>
by the application. If the username and password are correct, the server<br>
will respond with the client login code and a new ClientLoginToken<br>
object will be set in the client's auth_token member. With the auth_token<br>
set, future requests from this client will include the Client Login<br>
token.<br>
<br>
For a list of service names, see <br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
For more information on Client Login, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html">http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html</a><br>
<br>
Args:<br>
email: str The user's email address or username.<br>
password: str The password for the user's account.<br>
source: str The name of your application. This can be anything you<br>
like but should should give some indication of which app is<br>
making the request.<br>
service: str The service code for the service you would like to access.<br>
For example, 'cp' for contacts, 'cl' for calendar. For a full<br>
list see<br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
If you are using a subclass of the gdata.client.<a href="gdata.client.html#GDClient">GDClient</a>, the<br>
service will usually be filled in for you so you do not need<br>
to specify it. For example see BloggerClient,<br>
SpreadsheetsClient, etc.<br>
account_type: str (optional) The type of account which is being<br>
authenticated. This can be either 'GOOGLE' for a Google<br>
Account, 'HOSTED' for a Google Apps Account, or the<br>
default 'HOSTED_OR_GOOGLE' which will select the Google<br>
Apps Account if the same email address is used for both<br>
a Google Account and a Google Apps Account.<br>
auth_url: str (optional) The URL to which the login request should be<br>
sent.<br>
captcha_token: str (optional) If a previous login attempt was reponded<br>
to with a CAPTCHA challenge, this is the token which<br>
identifies the challenge (from the CAPTCHA's URL).<br>
captcha_response: str (optional) If a previous login attempt was<br>
reponded to with a CAPTCHA challenge, this is the<br>
response text which was contained in the challenge.<br>
<br>
Returns:<br>
Generated token, which is also stored in this object.<br>
<br>
Raises:<br>
A RequestError or one of its suclasses: BadAuthentication,<br>
BadAuthenticationServiceURL, ClientLoginFailed,<br>
ClientLoginTokenMissing, or CaptchaChallenge</tt></dd></dl>
<dl><dt><a name="AppsClient-Delete"><strong>Delete</strong></a> = delete(self, entry_or_uri, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-GetAccessToken"><strong>GetAccessToken</strong></a> = get_access_token(self, request_token, url<font color="#909090">='https://www.google.com/accounts/OAuthGetAccessToken'</font>)</dt><dd><tt>Exchanges an authorized OAuth request token for an access token.<br>
<br>
Contacts the Google OAuth server to upgrade a previously authorized<br>
request token. Once the request token is upgraded to an access token,<br>
the access token may be used to access the user's data.<br>
<br>
For more details, see the Google Accounts OAuth documentation:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken">http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken</a><br>
<br>
Args:<br>
request_token: An OAuth token which has been authorized by the user.<br>
url: (optional) The URL to which the upgrade request should be sent.<br>
Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken</tt></dd></dl>
<dl><dt><a name="AppsClient-GetEntry"><strong>GetEntry</strong></a> = get_entry(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDEntry'></font>, etag<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-GetFeed"><strong>GetFeed</strong></a> = get_feed(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDFeed'></font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-GetNext"><strong>GetNext</strong></a> = get_next(self, feed, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Fetches the next set of results from the feed.<br>
<br>
When requesting a feed, the number of entries returned is capped at a<br>
service specific default limit (often 25 entries). You can specify your<br>
own entry-count cap using the max-results URL query parameter. If there<br>
are more results than could fit under max-results, the feed will contain<br>
a next link. This method performs a GET against this next results URL.<br>
<br>
Returns:<br>
A new feed object containing the next set of entries in this feed.</tt></dd></dl>
<dl><dt><a name="AppsClient-GetOAuthToken"><strong>GetOAuthToken</strong></a> = get_oauth_token(self, scopes, next, consumer_key, consumer_secret<font color="#909090">=None</font>, rsa_private_key<font color="#909090">=None</font>, url<font color="#909090">='https://www.google.com/accounts/OAuthGetRequestToken'</font>)</dt><dd><tt>Obtains an OAuth request token to allow the user to authorize this app.<br>
<br>
Once this client has a request token, the user can authorize the request<br>
token by visiting the authorization URL in their browser. After being<br>
redirected back to this app at the 'next' URL, this app can then exchange<br>
the authorized request token for an access token.<br>
<br>
For more information see the documentation on Google Accounts with OAuth:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess">http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess</a><br>
<br>
Args:<br>
scopes: list of strings or atom.http_core.Uri objects which specify the<br>
URL prefixes which this app will be accessing. For example, to access<br>
the Google Calendar API, you would want to use scopes:<br>
['https://www.google.com/calendar/feeds/',<br>
'<a href="http://www.google.com/calendar/feeds/">http://www.google.com/calendar/feeds/</a>']<br>
next: str or atom.http_core.Uri object, The URL which the user's browser<br>
should be sent to after they authorize access to their data. This<br>
should be a URL in your application which will read the token<br>
information from the URL and upgrade the request token to an access<br>
token.<br>
consumer_key: str This is the identifier for this application which you<br>
should have received when you registered your application with Google<br>
to use OAuth.<br>
consumer_secret: str (optional) The shared secret between your app and<br>
Google which provides evidence that this request is coming from you<br>
application and not another app. If present, this libraries assumes<br>
you want to use an HMAC signature to verify requests. Keep this data<br>
a secret.<br>
rsa_private_key: str (optional) The RSA private key which is used to<br>
generate a digital signature which is checked by Google's server. If<br>
present, this library assumes that you want to use an RSA signature<br>
to verify requests. Keep this data a secret.<br>
url: The URL to which a request for a token should be made. The default<br>
is Google's OAuth request token provider.</tt></dd></dl>
<dl><dt><a name="AppsClient-ModifyRequest"><strong>ModifyRequest</strong></a> = modify_request(self, http_request)</dt><dd><tt>Adds or changes request before making the HTTP request.<br>
<br>
This client will add the API version if it is specified.<br>
Subclasses may override this method to add their own request<br>
modifications before the request is made.</tt></dd></dl>
<dl><dt><a name="AppsClient-Post"><strong>Post</strong></a> = post(self, entry, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-Request"><strong>Request</strong></a> = request(self, method<font color="#909090">=None</font>, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, redirects_remaining<font color="#909090">=4</font>, **kwargs)</dt><dd><tt>Make an HTTP request to the server.<br>
<br>
See also documentation for atom.client.AtomPubClient.request.<br>
<br>
If a 302 redirect is sent from the server to the client, this client<br>
assumes that the redirect is in the form used by the Google Calendar API.<br>
The same request URI and method will be used as in the original request,<br>
but a gsessionid URL parameter will be added to the request URI with<br>
the value provided in the server's 302 redirect response. If the 302<br>
redirect is not in the format specified by the Google Calendar API, a<br>
RedirectError will be raised containing the body of the server's<br>
response.<br>
<br>
The method calls the client's modify_request method to make any changes<br>
required by the client before the request is made. For example, a<br>
version 2 client could add a GData-Version: 2 header to the request in<br>
its modify_request method.<br>
<br>
Args:<br>
method: str The HTTP verb for this request, usually 'GET', 'POST',<br>
'PUT', or 'DELETE'<br>
uri: atom.http_core.Uri, str, or unicode The URL being requested.<br>
auth_token: An object which sets the Authorization HTTP header in its<br>
modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.<br>
http_request: (optional) atom.http_core.HttpRequest<br>
converter: function which takes the body of the response as its only<br>
argument and returns the desired object.<br>
desired_class: class descended from atom.core.XmlElement to which a<br>
successful response should be converted. If there is no<br>
converter function specified (converter=None) then the<br>
desired_class will be used in calling the<br>
atom.core.parse function. If neither<br>
the desired_class nor the converter is specified, an<br>
HTTP reponse object will be returned.<br>
redirects_remaining: (optional) int, if this number is 0 and the<br>
server sends a 302 redirect, the request method<br>
will raise an exception. This parameter is used in<br>
recursive request calls to avoid an infinite loop.<br>
<br>
Any additional arguments are passed through to<br>
atom.client.AtomPubClient.request.<br>
<br>
Returns:<br>
An HTTP response object (see atom.http_core.HttpResponse for a<br>
description of the object's interface) if no converter was<br>
specified and no desired_class was specified. If a converter function<br>
was provided, the results of calling the converter are returned. If no<br>
converter was specified but a desired_class was provided, the response<br>
body will be converted to the class using<br>
atom.core.parse.</tt></dd></dl>
<dl><dt><a name="AppsClient-RequestClientLoginToken"><strong>RequestClientLoginToken</strong></a> = request_client_login_token(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt></dl>
<dl><dt><a name="AppsClient-RevokeToken"><strong>RevokeToken</strong></a> = revoke_token(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Requests that the token be invalidated.<br>
<br>
This method can be used for both AuthSub and OAuth tokens (to invalidate<br>
a ClientLogin token, the user must change their password).<br>
<br>
Returns:<br>
True if the server responded with a 200.<br>
<br>
Raises:<br>
A RequestError if the server responds with a non-200 status.</tt></dd></dl>
<dl><dt><a name="AppsClient-Update"><strong>Update</strong></a> = update(self, entry, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, uri<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Edits the entry on the server by sending the XML for this entry.<br>
<br>
Performs a PUT and converts the response to a new entry object with a<br>
matching class to the entry passed in.<br>
<br>
Args:<br>
entry:<br>
auth_token:<br>
force: boolean stating whether an update should be forced. Defaults to<br>
False. Normally, if a change has been made since the passed in<br>
entry was obtained, the server will not overwrite the entry since<br>
the changes were based on an obsolete version of the entry.<br>
Setting force to True will cause the update to silently<br>
overwrite whatever version is present.<br>
uri: The uri to put to. If provided, this uri is PUT to rather than the<br>
inferred uri from the entry's edit link.<br>
<br>
Returns:<br>
A new Entry object of a matching type to the entry which was passed in.</tt></dd></dl>
<dl><dt><a name="AppsClient-UpgradeToken"><strong>UpgradeToken</strong></a> = upgrade_token(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Asks the Google auth server for a multi-use AuthSub token.<br>
<br>
For details on AuthSub, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthSub.html">http://code.google.com/apis/accounts/docs/AuthSub.html</a><br>
<br>
Args:<br>
token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken<br>
(optional) If no token is passed in, the client's auth_token member<br>
is used to request the new token. The token object will be modified<br>
to contain the new session token string.<br>
url: str or atom.http_core.Uri (optional) The URL to which the token<br>
upgrade request should be sent. Defaults to:<br>
https://www.google.com/accounts/AuthSubSessionToken<br>
<br>
Returns:<br>
The upgraded gdata.gauth.AuthSubToken object.</tt></dd></dl>
<dl><dt><a name="AppsClient-batch"><strong>batch</strong></a>(self, feed, uri<font color="#909090">=None</font>, force<font color="#909090">=False</font>, auth_token<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends a batch request to the server to execute operation entries.<br>
<br>
Args:<br>
feed: A batch feed containing batch entries, each is an operation.<br>
uri: (optional) The uri to which the batch request feed should be POSTed.<br>
If none is provided, then the feed's edit link will be used.<br>
force: (optional) boolean set to True if you want the batch update to<br>
clobber all data. If False, the version in the information in the<br>
feed object will cause the server to check to see that no changes<br>
intervened between when you fetched the data and when you sent the<br>
changes.<br>
auth_token: (optional) An object which sets the Authorization HTTP header<br>
in its modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.</tt></dd></dl>
<dl><dt><a name="AppsClient-client_login"><strong>client_login</strong></a>(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt><dd><tt>Performs an auth request using the user's email address and password.<br>
<br>
In order to modify user specific data and read user private data, your<br>
application must be authorized by the user. One way to demonstrage<br>
authorization is by including a Client Login token in the Authorization<br>
HTTP header of all requests. This method requests the Client Login token<br>
by sending the user's email address, password, the name of the<br>
application, and the service code for the service which will be accessed<br>
by the application. If the username and password are correct, the server<br>
will respond with the client login code and a new ClientLoginToken<br>
object will be set in the client's auth_token member. With the auth_token<br>
set, future requests from this client will include the Client Login<br>
token.<br>
<br>
For a list of service names, see <br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
For more information on Client Login, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html">http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html</a><br>
<br>
Args:<br>
email: str The user's email address or username.<br>
password: str The password for the user's account.<br>
source: str The name of your application. This can be anything you<br>
like but should should give some indication of which app is<br>
making the request.<br>
service: str The service code for the service you would like to access.<br>
For example, 'cp' for contacts, 'cl' for calendar. For a full<br>
list see<br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
If you are using a subclass of the gdata.client.<a href="gdata.client.html#GDClient">GDClient</a>, the<br>
service will usually be filled in for you so you do not need<br>
to specify it. For example see BloggerClient,<br>
SpreadsheetsClient, etc.<br>
account_type: str (optional) The type of account which is being<br>
authenticated. This can be either 'GOOGLE' for a Google<br>
Account, 'HOSTED' for a Google Apps Account, or the<br>
default 'HOSTED_OR_GOOGLE' which will select the Google<br>
Apps Account if the same email address is used for both<br>
a Google Account and a Google Apps Account.<br>
auth_url: str (optional) The URL to which the login request should be<br>
sent.<br>
captcha_token: str (optional) If a previous login attempt was reponded<br>
to with a CAPTCHA challenge, this is the token which<br>
identifies the challenge (from the CAPTCHA's URL).<br>
captcha_response: str (optional) If a previous login attempt was<br>
reponded to with a CAPTCHA challenge, this is the<br>
response text which was contained in the challenge.<br>
<br>
Returns:<br>
Generated token, which is also stored in this object.<br>
<br>
Raises:<br>
A RequestError or one of its suclasses: BadAuthentication,<br>
BadAuthenticationServiceURL, ClientLoginFailed,<br>
ClientLoginTokenMissing, or CaptchaChallenge</tt></dd></dl>
<dl><dt><a name="AppsClient-delete"><strong>delete</strong></a>(self, entry_or_uri, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-get_access_token"><strong>get_access_token</strong></a>(self, request_token, url<font color="#909090">='https://www.google.com/accounts/OAuthGetAccessToken'</font>)</dt><dd><tt>Exchanges an authorized OAuth request token for an access token.<br>
<br>
Contacts the Google OAuth server to upgrade a previously authorized<br>
request token. Once the request token is upgraded to an access token,<br>
the access token may be used to access the user's data.<br>
<br>
For more details, see the Google Accounts OAuth documentation:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken">http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken</a><br>
<br>
Args:<br>
request_token: An OAuth token which has been authorized by the user.<br>
url: (optional) The URL to which the upgrade request should be sent.<br>
Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken</tt></dd></dl>
<dl><dt><a name="AppsClient-get_entry"><strong>get_entry</strong></a>(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDEntry'></font>, etag<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-get_feed"><strong>get_feed</strong></a>(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDFeed'></font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-get_next"><strong>get_next</strong></a>(self, feed, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Fetches the next set of results from the feed.<br>
<br>
When requesting a feed, the number of entries returned is capped at a<br>
service specific default limit (often 25 entries). You can specify your<br>
own entry-count cap using the max-results URL query parameter. If there<br>
are more results than could fit under max-results, the feed will contain<br>
a next link. This method performs a GET against this next results URL.<br>
<br>
Returns:<br>
A new feed object containing the next set of entries in this feed.</tt></dd></dl>
<dl><dt><a name="AppsClient-get_oauth_token"><strong>get_oauth_token</strong></a>(self, scopes, next, consumer_key, consumer_secret<font color="#909090">=None</font>, rsa_private_key<font color="#909090">=None</font>, url<font color="#909090">='https://www.google.com/accounts/OAuthGetRequestToken'</font>)</dt><dd><tt>Obtains an OAuth request token to allow the user to authorize this app.<br>
<br>
Once this client has a request token, the user can authorize the request<br>
token by visiting the authorization URL in their browser. After being<br>
redirected back to this app at the 'next' URL, this app can then exchange<br>
the authorized request token for an access token.<br>
<br>
For more information see the documentation on Google Accounts with OAuth:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess">http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess</a><br>
<br>
Args:<br>
scopes: list of strings or atom.http_core.Uri objects which specify the<br>
URL prefixes which this app will be accessing. For example, to access<br>
the Google Calendar API, you would want to use scopes:<br>
['https://www.google.com/calendar/feeds/',<br>
'<a href="http://www.google.com/calendar/feeds/">http://www.google.com/calendar/feeds/</a>']<br>
next: str or atom.http_core.Uri object, The URL which the user's browser<br>
should be sent to after they authorize access to their data. This<br>
should be a URL in your application which will read the token<br>
information from the URL and upgrade the request token to an access<br>
token.<br>
consumer_key: str This is the identifier for this application which you<br>
should have received when you registered your application with Google<br>
to use OAuth.<br>
consumer_secret: str (optional) The shared secret between your app and<br>
Google which provides evidence that this request is coming from you<br>
application and not another app. If present, this libraries assumes<br>
you want to use an HMAC signature to verify requests. Keep this data<br>
a secret.<br>
rsa_private_key: str (optional) The RSA private key which is used to<br>
generate a digital signature which is checked by Google's server. If<br>
present, this library assumes that you want to use an RSA signature<br>
to verify requests. Keep this data a secret.<br>
url: The URL to which a request for a token should be made. The default<br>
is Google's OAuth request token provider.</tt></dd></dl>
<dl><dt><a name="AppsClient-modify_request"><strong>modify_request</strong></a>(self, http_request)</dt><dd><tt>Adds or changes request before making the HTTP request.<br>
<br>
This client will add the API version if it is specified.<br>
Subclasses may override this method to add their own request<br>
modifications before the request is made.</tt></dd></dl>
<dl><dt><a name="AppsClient-post"><strong>post</strong></a>(self, entry, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="AppsClient-request"><strong>request</strong></a>(self, method<font color="#909090">=None</font>, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, redirects_remaining<font color="#909090">=4</font>, **kwargs)</dt><dd><tt>Make an HTTP request to the server.<br>
<br>
See also documentation for atom.client.AtomPubClient.request.<br>
<br>
If a 302 redirect is sent from the server to the client, this client<br>
assumes that the redirect is in the form used by the Google Calendar API.<br>
The same request URI and method will be used as in the original request,<br>
but a gsessionid URL parameter will be added to the request URI with<br>
the value provided in the server's 302 redirect response. If the 302<br>
redirect is not in the format specified by the Google Calendar API, a<br>
RedirectError will be raised containing the body of the server's<br>
response.<br>
<br>
The method calls the client's modify_request method to make any changes<br>
required by the client before the request is made. For example, a<br>
version 2 client could add a GData-Version: 2 header to the request in<br>
its modify_request method.<br>
<br>
Args:<br>
method: str The HTTP verb for this request, usually 'GET', 'POST',<br>
'PUT', or 'DELETE'<br>
uri: atom.http_core.Uri, str, or unicode The URL being requested.<br>
auth_token: An object which sets the Authorization HTTP header in its<br>
modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.<br>
http_request: (optional) atom.http_core.HttpRequest<br>
converter: function which takes the body of the response as its only<br>
argument and returns the desired object.<br>
desired_class: class descended from atom.core.XmlElement to which a<br>
successful response should be converted. If there is no<br>
converter function specified (converter=None) then the<br>
desired_class will be used in calling the<br>
atom.core.parse function. If neither<br>
the desired_class nor the converter is specified, an<br>
HTTP reponse object will be returned.<br>
redirects_remaining: (optional) int, if this number is 0 and the<br>
server sends a 302 redirect, the request method<br>
will raise an exception. This parameter is used in<br>
recursive request calls to avoid an infinite loop.<br>
<br>
Any additional arguments are passed through to<br>
atom.client.AtomPubClient.request.<br>
<br>
Returns:<br>
An HTTP response object (see atom.http_core.HttpResponse for a<br>
description of the object's interface) if no converter was<br>
specified and no desired_class was specified. If a converter function<br>
was provided, the results of calling the converter are returned. If no<br>
converter was specified but a desired_class was provided, the response<br>
body will be converted to the class using<br>
atom.core.parse.</tt></dd></dl>
<dl><dt><a name="AppsClient-request_client_login_token"><strong>request_client_login_token</strong></a>(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt></dl>
<dl><dt><a name="AppsClient-revoke_token"><strong>revoke_token</strong></a>(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Requests that the token be invalidated.<br>
<br>
This method can be used for both AuthSub and OAuth tokens (to invalidate<br>
a ClientLogin token, the user must change their password).<br>
<br>
Returns:<br>
True if the server responded with a 200.<br>
<br>
Raises:<br>
A RequestError if the server responds with a non-200 status.</tt></dd></dl>
<dl><dt><a name="AppsClient-update"><strong>update</strong></a>(self, entry, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, uri<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Edits the entry on the server by sending the XML for this entry.<br>
<br>
Performs a PUT and converts the response to a new entry object with a<br>
matching class to the entry passed in.<br>
<br>
Args:<br>
entry:<br>
auth_token:<br>
force: boolean stating whether an update should be forced. Defaults to<br>
False. Normally, if a change has been made since the passed in<br>
entry was obtained, the server will not overwrite the entry since<br>
the changes were based on an obsolete version of the entry.<br>
Setting force to True will cause the update to silently<br>
overwrite whatever version is present.<br>
uri: The uri to put to. If provided, this uri is PUT to rather than the<br>
inferred uri from the entry's edit link.<br>
<br>
Returns:<br>
A new Entry object of a matching type to the entry which was passed in.</tt></dd></dl>
<dl><dt><a name="AppsClient-upgrade_token"><strong>upgrade_token</strong></a>(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Asks the Google auth server for a multi-use AuthSub token.<br>
<br>
For details on AuthSub, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthSub.html">http://code.google.com/apis/accounts/docs/AuthSub.html</a><br>
<br>
Args:<br>
token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken<br>
(optional) If no token is passed in, the client's auth_token member<br>
is used to request the new token. The token object will be modified<br>
to contain the new session token string.<br>
url: str or atom.http_core.Uri (optional) The URL to which the token<br>
upgrade request should be sent. Defaults to:<br>
https://www.google.com/accounts/AuthSubSessionToken<br>
<br>
Returns:<br>
The upgraded gdata.gauth.AuthSubToken object.</tt></dd></dl>
<hr>
Data and other attributes inherited from <a href="gdata.client.html#GDClient">gdata.client.GDClient</a>:<br>
<dl><dt><strong>alt_auth_service</strong> = None</dl>
<hr>
Methods inherited from <a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>:<br>
<dl><dt><a name="AppsClient-Get"><strong>Get</strong></a> = get(self, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Performs a request using the GET method, returns an HTTP response.</tt></dd></dl>
<dl><dt><a name="AppsClient-Put"><strong>Put</strong></a> = put(self, uri<font color="#909090">=None</font>, data<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends data using the PUT method, returns an HTTP response.</tt></dd></dl>
<dl><dt><a name="AppsClient-get"><strong>get</strong></a>(self, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Performs a request using the GET method, returns an HTTP response.</tt></dd></dl>
<dl><dt><a name="AppsClient-put"><strong>put</strong></a>(self, uri<font color="#909090">=None</font>, data<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends data using the PUT method, returns an HTTP response.</tt></dd></dl>
<hr>
Data descriptors inherited from <a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from <a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>:<br>
<dl><dt><strong>auth_token</strong> = None</dl>
<dl><dt><strong>ssl</strong> = False</dl>
<dl><dt><strong>xoauth_requestor_id</strong> = None</dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = '<Shraddha Gupta shraddhag@google.com>'</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%"><Shraddha Gupta shraddhag@google.com></td></tr></table>
</body></html>