blob: c8d10f4cc6aa90bdf586402ee0ea31418940fa2c [file] [log] [blame]
Joe Gregorio6e537032011-02-09 23:04:26 -05001
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3<html><head><title>Python: module oauth2client.client</title>
4</head><body bgcolor="#f0f0f8">
5
6<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
7<tr bgcolor="#7799ee">
8<td valign=bottom>&nbsp;<br>
9<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="oauth2client.html"><font color="#ffffff">oauth2client</font></a>.client</strong></big></big></font></td
10><td align=right valign=bottom
Joe Gregorio308bcad2012-04-23 08:59:07 -040011><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/apiclient-release/oauth2client/client.py">/home/jcgregorio/projects/apiclient-release/oauth2client/client.py</a></font></td></tr></table>
Joe Gregorioa8451672011-09-15 09:53:21 -040012 <p><tt>An&nbsp;OAuth&nbsp;2.0&nbsp;client.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -050013&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -040014Tools&nbsp;for&nbsp;interacting&nbsp;with&nbsp;OAuth&nbsp;2.0&nbsp;protected&nbsp;resources.</tt></p>
Joe Gregorio6e537032011-02-09 23:04:26 -050015<p>
16<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
17<tr bgcolor="#aa55cc">
18<td colspan=3 valign=bottom>&nbsp;<br>
19<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
20
21<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregoriob417caf2011-12-08 12:04:24 -050022<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="base64.html">base64</a><br>
23<a href="oauth2client.clientsecrets.html">oauth2client.clientsecrets</a><br>
Joe Gregorio761c4562011-10-28 14:36:24 -040024<a href="copy.html">copy</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050025</td><td width="25%" valign=top><a href="datetime.html">datetime</a><br>
26<a href="httplib2.html">httplib2</a><br>
Joe Gregorio6e537032011-02-09 23:04:26 -050027<a href="logging.html">logging</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050028</td><td width="25%" valign=top><a href="os.html">os</a><br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -050029<a href="json.html">json</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050030<a href="sys.html">sys</a><br>
31</td><td width="25%" valign=top><a href="time.html">time</a><br>
Joe Gregorio6e537032011-02-09 23:04:26 -050032<a href="urllib.html">urllib</a><br>
Joe Gregorio761c4562011-10-28 14:36:24 -040033<a href="urlparse.html">urlparse</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050034</td></tr></table></td></tr></table><p>
Joe Gregorio6e537032011-02-09 23:04:26 -050035<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
36<tr bgcolor="#ee77aa">
37<td colspan=3 valign=bottom>&nbsp;<br>
38<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
39
40<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
41<td width="100%"><dl>
42<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
43</font></dt><dd>
44<dl>
45<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Credentials">Credentials</a>
46</font></dt><dd>
47<dl>
48<dt><font face="helvetica, arial"><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050049</font></dt><dd>
50<dl>
51<dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenCredentials">AccessTokenCredentials</a>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -040052</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a>
Joe Gregoriob417caf2011-12-08 12:04:24 -050053</font></dt><dd>
54<dl>
55<dt><font face="helvetica, arial"><a href="oauth2client.client.html#SignedJwtAssertionCredentials">SignedJwtAssertionCredentials</a>
Joe Gregorio6e537032011-02-09 23:04:26 -050056</font></dt></dl>
57</dd>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050058</dl>
59</dd>
Joe Gregoriob417caf2011-12-08 12:04:24 -050060</dl>
61</dd>
Joe Gregorio6e537032011-02-09 23:04:26 -050062<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Flow">Flow</a>
63</font></dt><dd>
64<dl>
65<dt><font face="helvetica, arial"><a href="oauth2client.client.html#OAuth2WebServerFlow">OAuth2WebServerFlow</a>
66</font></dt></dl>
67</dd>
Joe Gregorio3d55ac52012-02-21 10:11:19 -050068<dt><font face="helvetica, arial"><a href="oauth2client.client.html#MemoryCache">MemoryCache</a>
69</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#Storage">Storage</a>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050070</font></dt></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -050071</dd>
72<dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>(<a href="exceptions.html#BaseException">exceptions.BaseException</a>)
73</font></dt><dd>
74<dl>
75<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Error">Error</a>
76</font></dt><dd>
77<dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050078<dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenCredentialsError">AccessTokenCredentialsError</a>
Joe Gregoriof8261112011-02-19 14:51:56 -050079</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenRefreshError">AccessTokenRefreshError</a>
80</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#FlowExchangeError">FlowExchangeError</a>
Joe Gregorio761c4562011-10-28 14:36:24 -040081</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#UnknownClientSecretsFlowError">UnknownClientSecretsFlowError</a>
Joe Gregoriob417caf2011-12-08 12:04:24 -050082</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#VerifyJwtTokenError">VerifyJwtTokenError</a>
Joe Gregorio6e537032011-02-09 23:04:26 -050083</font></dt></dl>
84</dd>
85</dl>
86</dd>
87</dl>
88 <p>
89<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
90<tr bgcolor="#ffc8d8">
91<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050092<font color="#000000" face="helvetica, arial"><a name="AccessTokenCredentials">class <strong>AccessTokenCredentials</strong></a>(<a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>)</font></td></tr>
93
94<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -040095<td colspan=2><tt><a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;for&nbsp;OAuth&nbsp;2.0.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050096&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -040097<a href="#Credentials">Credentials</a>&nbsp;can&nbsp;be&nbsp;applied&nbsp;to&nbsp;an&nbsp;httplib2.Http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;using&nbsp;the<br>
98<a href="#AccessTokenCredentials-authorize">authorize</a>()&nbsp;method,&nbsp;which&nbsp;then&nbsp;signs&nbsp;each&nbsp;request&nbsp;from&nbsp;that&nbsp;<a href="__builtin__.html#object">object</a><br>
99with&nbsp;the&nbsp;OAuth&nbsp;2.0&nbsp;access&nbsp;token.&nbsp;&nbsp;This&nbsp;set&nbsp;of&nbsp;credentials&nbsp;is&nbsp;for&nbsp;the<br>
100use&nbsp;case&nbsp;where&nbsp;you&nbsp;have&nbsp;acquired&nbsp;an&nbsp;OAuth&nbsp;2.0&nbsp;access_token&nbsp;from<br>
101another&nbsp;place&nbsp;such&nbsp;as&nbsp;a&nbsp;JavaScript&nbsp;client&nbsp;or&nbsp;another&nbsp;web<br>
102application,&nbsp;and&nbsp;wish&nbsp;to&nbsp;use&nbsp;it&nbsp;from&nbsp;Python.&nbsp;Because&nbsp;only&nbsp;the<br>
103access_token&nbsp;is&nbsp;present&nbsp;it&nbsp;can&nbsp;not&nbsp;be&nbsp;refreshed&nbsp;and&nbsp;will&nbsp;in&nbsp;time<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500104expire.<br>
105&nbsp;<br>
Joe Gregoriofffa7d72011-02-18 17:20:39 -0500106<a href="#AccessTokenCredentials">AccessTokenCredentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500107&nbsp;<br>
108Usage:<br>
109&nbsp;&nbsp;credentials&nbsp;=&nbsp;<a href="#AccessTokenCredentials">AccessTokenCredentials</a>('&lt;an&nbsp;access&nbsp;token&gt;',<br>
110&nbsp;&nbsp;&nbsp;&nbsp;'my-user-agent/1.0')<br>
111&nbsp;&nbsp;http&nbsp;=&nbsp;httplib2.Http()<br>
112&nbsp;&nbsp;http&nbsp;=&nbsp;credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(http)<br>
113&nbsp;<br>
114Exceptions:<br>
115&nbsp;&nbsp;AccessTokenCredentialsExpired:&nbsp;raised&nbsp;when&nbsp;the&nbsp;access_token&nbsp;expires&nbsp;or&nbsp;is<br>
116&nbsp;&nbsp;&nbsp;&nbsp;revoked.<br>&nbsp;</tt></td></tr>
117<tr><td>&nbsp;</td>
118<td width="100%"><dl><dt>Method resolution order:</dt>
119<dd><a href="oauth2client.client.html#AccessTokenCredentials">AccessTokenCredentials</a></dd>
120<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
121<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
122<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
123</dl>
124<hr>
125Methods defined here:<br>
126<dl><dt><a name="AccessTokenCredentials-__init__"><strong>__init__</strong></a>(self, access_token, user_agent)</dt><dd><tt>Create&nbsp;an&nbsp;instance&nbsp;of&nbsp;<a href="#OAuth2Credentials">OAuth2Credentials</a><br>
127&nbsp;<br>
128This&nbsp;is&nbsp;one&nbsp;of&nbsp;the&nbsp;few&nbsp;types&nbsp;if&nbsp;<a href="#Credentials">Credentials</a>&nbsp;that&nbsp;you&nbsp;should&nbsp;contrust,<br>
129<a href="#Credentials">Credentials</a>&nbsp;objects&nbsp;are&nbsp;usually&nbsp;instantiated&nbsp;by&nbsp;a&nbsp;<a href="#Flow">Flow</a>.<br>
130&nbsp;<br>
131Args:<br>
Joe Gregorio93841702011-03-02 16:12:05 -0800132&nbsp;&nbsp;access_token:&nbsp;string,&nbsp;access&nbsp;token.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500133&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
134&nbsp;<br>
135Notes:<br>
136&nbsp;&nbsp;store:&nbsp;callable,&nbsp;a&nbsp;callable&nbsp;that&nbsp;when&nbsp;passed&nbsp;a&nbsp;Credential<br>
137&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;store&nbsp;the&nbsp;credential&nbsp;back&nbsp;to&nbsp;where&nbsp;it&nbsp;came&nbsp;from.</tt></dd></dl>
138
139<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400140Class methods defined here:<br>
141<dl><dt><a name="AccessTokenCredentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt></dl>
142
143<hr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500144Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
145<dl><dt><a name="AccessTokenCredentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim&nbsp;the&nbsp;state&nbsp;down&nbsp;to&nbsp;something&nbsp;that&nbsp;can&nbsp;be&nbsp;pickled.</tt></dd></dl>
146
147<dl><dt><a name="AccessTokenCredentials-__setstate__"><strong>__setstate__</strong></a>(self, state)</dt><dd><tt>Reconstitute&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;being&nbsp;pickled.</tt></dd></dl>
148
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500149<dl><dt><a name="AccessTokenCredentials-apply"><strong>apply</strong></a>(self, headers)</dt><dd><tt>Add&nbsp;the&nbsp;authorization&nbsp;to&nbsp;the&nbsp;headers.<br>
150&nbsp;<br>
151Args:<br>
152&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;the&nbsp;headers&nbsp;to&nbsp;add&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;to.</tt></dd></dl>
153
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500154<dl><dt><a name="AccessTokenCredentials-authorize"><strong>authorize</strong></a>(self, http)</dt><dd><tt>Authorize&nbsp;an&nbsp;httplib2.Http&nbsp;instance&nbsp;with&nbsp;these&nbsp;credentials.<br>
155&nbsp;<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500156The&nbsp;modified&nbsp;http.request&nbsp;method&nbsp;will&nbsp;add&nbsp;authentication&nbsp;headers&nbsp;to&nbsp;each<br>
157request&nbsp;and&nbsp;will&nbsp;refresh&nbsp;access_tokens&nbsp;when&nbsp;a&nbsp;401&nbsp;is&nbsp;received&nbsp;on&nbsp;a<br>
158request.&nbsp;In&nbsp;addition&nbsp;the&nbsp;http.request&nbsp;method&nbsp;has&nbsp;a&nbsp;credentials&nbsp;property,<br>
159http.request.credentials,&nbsp;which&nbsp;is&nbsp;the&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;that&nbsp;authorized<br>
160it.<br>
161&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500162Args:<br>
163&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
164&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
165&nbsp;<br>
166Returns:<br>
167&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
168&nbsp;<br>
169Example:<br>
170&nbsp;<br>
171&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
172&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(h)<br>
173&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400174You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
175because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
176signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
177that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
178version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500179
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500180<dl><dt><a name="AccessTokenCredentials-refresh"><strong>refresh</strong></a>(self, http)</dt><dd><tt>Forces&nbsp;a&nbsp;refresh&nbsp;of&nbsp;the&nbsp;access_token.<br>
181&nbsp;<br>
182Args:<br>
183&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;to&nbsp;make&nbsp;the&nbsp;refresh<br>
184&nbsp;&nbsp;&nbsp;&nbsp;request.</tt></dd></dl>
185
Joe Gregorioa8451672011-09-15 09:53:21 -0400186<dl><dt><a name="AccessTokenCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set&nbsp;the&nbsp;<a href="#Storage">Storage</a>&nbsp;for&nbsp;the&nbsp;credential.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500187&nbsp;<br>
188Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400189&nbsp;&nbsp;store:&nbsp;<a href="#Storage">Storage</a>,&nbsp;an&nbsp;implementation&nbsp;of&nbsp;Stroage&nbsp;<a href="__builtin__.html#object">object</a>.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500190&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;needed&nbsp;to&nbsp;store&nbsp;the&nbsp;latest&nbsp;access_token&nbsp;if&nbsp;it<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400191&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
192&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
193&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
194
195<dl><dt><a name="AccessTokenCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500196
197<hr>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500198Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400199<dl><dt><strong>access_token_expired</strong></dt>
200<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
201&nbsp;<br>
202If&nbsp;the&nbsp;token_expiry&nbsp;isn't&nbsp;set,&nbsp;we&nbsp;assume&nbsp;the&nbsp;token&nbsp;doesn't&nbsp;expire.</tt></dd>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500203</dl>
204<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400205Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
206<dl><dt><a name="AccessTokenCredentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
207representation&nbsp;produced&nbsp;by&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
208&nbsp;<br>
209Args:<br>
210&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
211&nbsp;<br>
212Returns:<br>
213&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#Credentials">Credentials</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
214&nbsp;&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().</tt></dd></dl>
215
216<hr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500217Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
218<dl><dt><strong>__dict__</strong></dt>
219<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
220</dl>
221<dl><dt><strong>__weakref__</strong></dt>
222<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
223</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400224<hr>
225Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
226<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
227
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500228</td></tr></table> <p>
229<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
230<tr bgcolor="#ffc8d8">
231<td colspan=3 valign=bottom>&nbsp;<br>
232<font color="#000000" face="helvetica, arial"><a name="AccessTokenCredentialsError">class <strong>AccessTokenCredentialsError</strong></a>(<a href="oauth2client.client.html#Error">Error</a>)</font></td></tr>
233
234<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
235<td colspan=2><tt>Having&nbsp;only&nbsp;the&nbsp;access_token&nbsp;means&nbsp;no&nbsp;refresh&nbsp;is&nbsp;possible.<br>&nbsp;</tt></td></tr>
236<tr><td>&nbsp;</td>
237<td width="100%"><dl><dt>Method resolution order:</dt>
238<dd><a href="oauth2client.client.html#AccessTokenCredentialsError">AccessTokenCredentialsError</a></dd>
239<dd><a href="oauth2client.client.html#Error">Error</a></dd>
240<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
241<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
242<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
243</dl>
244<hr>
245Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
246<dl><dt><strong>__weakref__</strong></dt>
247<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
248</dl>
249<hr>
250Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500251<dl><dt><a name="AccessTokenCredentialsError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500252
253<hr>
254Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
255<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#AccessTokenCredentialsError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
256
257<hr>
258Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
259<dl><dt><a name="AccessTokenCredentialsError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
260
261<dl><dt><a name="AccessTokenCredentialsError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
262
263<dl><dt><a name="AccessTokenCredentialsError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
264
265<dl><dt><a name="AccessTokenCredentialsError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
266&nbsp;<br>
267Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
268
269<dl><dt><a name="AccessTokenCredentialsError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
270
271<dl><dt><a name="AccessTokenCredentialsError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
272
273<dl><dt><a name="AccessTokenCredentialsError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
274
275<dl><dt><a name="AccessTokenCredentialsError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
276
277<dl><dt><a name="AccessTokenCredentialsError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenCredentialsError-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
278
279<dl><dt><a name="AccessTokenCredentialsError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
280
281<hr>
282Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
283<dl><dt><strong>__dict__</strong></dt>
284</dl>
285<dl><dt><strong>args</strong></dt>
286</dl>
287<dl><dt><strong>message</strong></dt>
288</dl>
289</td></tr></table> <p>
290<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
291<tr bgcolor="#ffc8d8">
292<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500293<font color="#000000" face="helvetica, arial"><a name="AccessTokenRefreshError">class <strong>AccessTokenRefreshError</strong></a>(<a href="oauth2client.client.html#Error">Error</a>)</font></td></tr>
294
295<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioad258e22011-02-22 22:53:30 -0500296<td colspan=2><tt><a href="#Error">Error</a>&nbsp;trying&nbsp;to&nbsp;refresh&nbsp;an&nbsp;expired&nbsp;access&nbsp;token.<br>&nbsp;</tt></td></tr>
Joe Gregoriof8261112011-02-19 14:51:56 -0500297<tr><td>&nbsp;</td>
298<td width="100%"><dl><dt>Method resolution order:</dt>
299<dd><a href="oauth2client.client.html#AccessTokenRefreshError">AccessTokenRefreshError</a></dd>
300<dd><a href="oauth2client.client.html#Error">Error</a></dd>
301<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
302<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
303<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
304</dl>
305<hr>
306Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
307<dl><dt><strong>__weakref__</strong></dt>
308<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
309</dl>
310<hr>
311Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500312<dl><dt><a name="AccessTokenRefreshError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregoriof8261112011-02-19 14:51:56 -0500313
314<hr>
315Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
316<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#AccessTokenRefreshError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
317
318<hr>
319Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
320<dl><dt><a name="AccessTokenRefreshError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
321
322<dl><dt><a name="AccessTokenRefreshError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
323
324<dl><dt><a name="AccessTokenRefreshError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
325
326<dl><dt><a name="AccessTokenRefreshError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
327&nbsp;<br>
328Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
329
330<dl><dt><a name="AccessTokenRefreshError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
331
332<dl><dt><a name="AccessTokenRefreshError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
333
334<dl><dt><a name="AccessTokenRefreshError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
335
336<dl><dt><a name="AccessTokenRefreshError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
337
338<dl><dt><a name="AccessTokenRefreshError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#AccessTokenRefreshError-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
339
340<dl><dt><a name="AccessTokenRefreshError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
341
342<hr>
343Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
344<dl><dt><strong>__dict__</strong></dt>
345</dl>
346<dl><dt><strong>args</strong></dt>
347</dl>
348<dl><dt><strong>message</strong></dt>
349</dl>
350</td></tr></table> <p>
351<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
352<tr bgcolor="#ffc8d8">
353<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400354<font color="#000000" face="helvetica, arial"><a name="AssertionCredentials">class <strong>AssertionCredentials</strong></a>(<a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>)</font></td></tr>
355
356<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400357<td colspan=2><tt>Abstract&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;used&nbsp;for&nbsp;OAuth&nbsp;2.0&nbsp;assertion&nbsp;grants.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400358&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400359This&nbsp;credential&nbsp;does&nbsp;not&nbsp;require&nbsp;a&nbsp;flow&nbsp;to&nbsp;instantiate&nbsp;because&nbsp;it<br>
360represents&nbsp;a&nbsp;two&nbsp;legged&nbsp;flow,&nbsp;and&nbsp;therefore&nbsp;has&nbsp;all&nbsp;of&nbsp;the&nbsp;required<br>
361information&nbsp;to&nbsp;generate&nbsp;and&nbsp;refresh&nbsp;its&nbsp;own&nbsp;access&nbsp;tokens.&nbsp;&nbsp;It&nbsp;must<br>
362be&nbsp;subclassed&nbsp;to&nbsp;generate&nbsp;the&nbsp;appropriate&nbsp;assertion&nbsp;string.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400363&nbsp;<br>
364<a href="#AssertionCredentials">AssertionCredentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
365<tr><td>&nbsp;</td>
366<td width="100%"><dl><dt>Method resolution order:</dt>
367<dd><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a></dd>
368<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
369<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
370<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
371</dl>
372<hr>
373Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400374<dl><dt><a name="AssertionCredentials-__init__"><strong>__init__</strong></a>(self, assertion_type, user_agent, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **unused_kwargs)</dt><dd><tt>Constructor&nbsp;for&nbsp;AssertionFlowCredentials.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400375&nbsp;<br>
376Args:<br>
377&nbsp;&nbsp;assertion_type:&nbsp;string,&nbsp;assertion&nbsp;type&nbsp;that&nbsp;will&nbsp;be&nbsp;declared&nbsp;to&nbsp;the&nbsp;auth<br>
378&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server<br>
379&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
380&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
381&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;to&nbsp;Google's&nbsp;endpoints&nbsp;but&nbsp;any&nbsp;OAuth&nbsp;2.0&nbsp;provider&nbsp;can&nbsp;be&nbsp;used.</tt></dd></dl>
382
383<hr>
384Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
385<dl><dt><a name="AssertionCredentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim&nbsp;the&nbsp;state&nbsp;down&nbsp;to&nbsp;something&nbsp;that&nbsp;can&nbsp;be&nbsp;pickled.</tt></dd></dl>
386
387<dl><dt><a name="AssertionCredentials-__setstate__"><strong>__setstate__</strong></a>(self, state)</dt><dd><tt>Reconstitute&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;being&nbsp;pickled.</tt></dd></dl>
388
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500389<dl><dt><a name="AssertionCredentials-apply"><strong>apply</strong></a>(self, headers)</dt><dd><tt>Add&nbsp;the&nbsp;authorization&nbsp;to&nbsp;the&nbsp;headers.<br>
390&nbsp;<br>
391Args:<br>
392&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;the&nbsp;headers&nbsp;to&nbsp;add&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;to.</tt></dd></dl>
393
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400394<dl><dt><a name="AssertionCredentials-authorize"><strong>authorize</strong></a>(self, http)</dt><dd><tt>Authorize&nbsp;an&nbsp;httplib2.Http&nbsp;instance&nbsp;with&nbsp;these&nbsp;credentials.<br>
395&nbsp;<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500396The&nbsp;modified&nbsp;http.request&nbsp;method&nbsp;will&nbsp;add&nbsp;authentication&nbsp;headers&nbsp;to&nbsp;each<br>
397request&nbsp;and&nbsp;will&nbsp;refresh&nbsp;access_tokens&nbsp;when&nbsp;a&nbsp;401&nbsp;is&nbsp;received&nbsp;on&nbsp;a<br>
398request.&nbsp;In&nbsp;addition&nbsp;the&nbsp;http.request&nbsp;method&nbsp;has&nbsp;a&nbsp;credentials&nbsp;property,<br>
399http.request.credentials,&nbsp;which&nbsp;is&nbsp;the&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;that&nbsp;authorized<br>
400it.<br>
401&nbsp;<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400402Args:<br>
403&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
404&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
405&nbsp;<br>
406Returns:<br>
407&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
408&nbsp;<br>
409Example:<br>
410&nbsp;<br>
411&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
412&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#AssertionCredentials-authorize">authorize</a>(h)<br>
413&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400414You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
415because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
416signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
417that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
418version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400419
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500420<dl><dt><a name="AssertionCredentials-refresh"><strong>refresh</strong></a>(self, http)</dt><dd><tt>Forces&nbsp;a&nbsp;refresh&nbsp;of&nbsp;the&nbsp;access_token.<br>
421&nbsp;<br>
422Args:<br>
423&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;to&nbsp;make&nbsp;the&nbsp;refresh<br>
424&nbsp;&nbsp;&nbsp;&nbsp;request.</tt></dd></dl>
425
Joe Gregorioa8451672011-09-15 09:53:21 -0400426<dl><dt><a name="AssertionCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set&nbsp;the&nbsp;<a href="#Storage">Storage</a>&nbsp;for&nbsp;the&nbsp;credential.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400427&nbsp;<br>
428Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400429&nbsp;&nbsp;store:&nbsp;<a href="#Storage">Storage</a>,&nbsp;an&nbsp;implementation&nbsp;of&nbsp;Stroage&nbsp;<a href="__builtin__.html#object">object</a>.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400430&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;needed&nbsp;to&nbsp;store&nbsp;the&nbsp;latest&nbsp;access_token&nbsp;if&nbsp;it<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400431&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
432&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
433&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
434
435<dl><dt><a name="AssertionCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
436
437<hr>
438Class methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
439<dl><dt><a name="AssertionCredentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;a&nbsp;JSON&nbsp;description&nbsp;of&nbsp;it.&nbsp;The&nbsp;JSON<br>
440should&nbsp;have&nbsp;been&nbsp;produced&nbsp;by&nbsp;calling&nbsp;.<a href="#AssertionCredentials-to_json">to_json</a>()&nbsp;on&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>.<br>
441&nbsp;<br>
442Args:<br>
443&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
444&nbsp;<br>
445Returns:<br>
446&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass.</tt></dd></dl>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400447
448<hr>
449Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400450<dl><dt><strong>access_token_expired</strong></dt>
451<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
452&nbsp;<br>
453If&nbsp;the&nbsp;token_expiry&nbsp;isn't&nbsp;set,&nbsp;we&nbsp;assume&nbsp;the&nbsp;token&nbsp;doesn't&nbsp;expire.</tt></dd>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400454</dl>
455<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400456Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
457<dl><dt><a name="AssertionCredentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
458representation&nbsp;produced&nbsp;by&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().<br>
459&nbsp;<br>
460Args:<br>
461&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().<br>
462&nbsp;<br>
463Returns:<br>
464&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#Credentials">Credentials</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
465&nbsp;&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().</tt></dd></dl>
466
467<hr>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400468Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
469<dl><dt><strong>__dict__</strong></dt>
470<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
471</dl>
472<dl><dt><strong>__weakref__</strong></dt>
473<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
474</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400475<hr>
476Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
477<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
478
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400479</td></tr></table> <p>
480<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
481<tr bgcolor="#ffc8d8">
482<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500483<font color="#000000" face="helvetica, arial"><a name="Credentials">class <strong>Credentials</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
484
485<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
486<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Credentials">Credentials</a>&nbsp;objects.<br>
487&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400488Subclasses&nbsp;must&nbsp;define&nbsp;an&nbsp;<a href="#Credentials-authorize">authorize</a>()&nbsp;method&nbsp;that&nbsp;applies&nbsp;the&nbsp;credentials&nbsp;to<br>
489an&nbsp;HTTP&nbsp;transport.<br>
490&nbsp;<br>
491Subclasses&nbsp;must&nbsp;also&nbsp;specify&nbsp;a&nbsp;classmethod&nbsp;named&nbsp;'from_json'&nbsp;that&nbsp;takes&nbsp;a&nbsp;JSON<br>
Joe Gregoriod02bf5e2012-03-02 13:21:32 -0800492string&nbsp;as&nbsp;input&nbsp;and&nbsp;returns&nbsp;an&nbsp;instaniated&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>.<br>&nbsp;</tt></td></tr>
Joe Gregorio6e537032011-02-09 23:04:26 -0500493<tr><td>&nbsp;</td>
494<td width="100%">Methods defined here:<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500495<dl><dt><a name="Credentials-apply"><strong>apply</strong></a>(self, headers)</dt><dd><tt>Add&nbsp;the&nbsp;authorization&nbsp;to&nbsp;the&nbsp;headers.<br>
496&nbsp;<br>
497Args:<br>
498&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;the&nbsp;headers&nbsp;to&nbsp;add&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;to.</tt></dd></dl>
499
Joe Gregorio6e537032011-02-09 23:04:26 -0500500<dl><dt><a name="Credentials-authorize"><strong>authorize</strong></a>(self, http)</dt><dd><tt>Take&nbsp;an&nbsp;httplib2.Http&nbsp;instance&nbsp;(or&nbsp;equivalent)&nbsp;and<br>
501authorizes&nbsp;it&nbsp;for&nbsp;the&nbsp;set&nbsp;of&nbsp;credentials,&nbsp;usually&nbsp;by<br>
502replacing&nbsp;http.request()&nbsp;with&nbsp;a&nbsp;method&nbsp;that&nbsp;adds&nbsp;in<br>
503the&nbsp;appropriate&nbsp;headers&nbsp;and&nbsp;then&nbsp;delegates&nbsp;to&nbsp;the&nbsp;original<br>
504Http.request()&nbsp;method.</tt></dd></dl>
505
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500506<dl><dt><a name="Credentials-refresh"><strong>refresh</strong></a>(self, http)</dt><dd><tt>Forces&nbsp;a&nbsp;refresh&nbsp;of&nbsp;the&nbsp;access_token.<br>
507&nbsp;<br>
508Args:<br>
509&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;to&nbsp;make&nbsp;the&nbsp;refresh<br>
510&nbsp;&nbsp;&nbsp;&nbsp;request.</tt></dd></dl>
511
Joe Gregorioa8451672011-09-15 09:53:21 -0400512<dl><dt><a name="Credentials-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>Creating&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;an&nbsp;instance&nbsp;of&nbsp;<a href="#Credentials">Credentials</a>.<br>
513&nbsp;<br>
514Returns:<br>
515&nbsp;&nbsp;&nbsp;string,&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;this&nbsp;instance,&nbsp;suitable&nbsp;to&nbsp;pass&nbsp;to<br>
Joe Gregorio6121dd92012-04-13 07:50:04 -0400516&nbsp;&nbsp;&nbsp;<a href="#Credentials-from_json">from_json</a>().</tt></dd></dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400517
518<hr>
519Class methods defined here:<br>
Joe Gregorio6121dd92012-04-13 07:50:04 -0400520<dl><dt><a name="Credentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;a&nbsp;JSON&nbsp;description&nbsp;of&nbsp;it.&nbsp;The&nbsp;JSON<br>
521should&nbsp;have&nbsp;been&nbsp;produced&nbsp;by&nbsp;calling&nbsp;.<a href="#Credentials-to_json">to_json</a>()&nbsp;on&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>.<br>
522&nbsp;<br>
523Args:<br>
524&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
525&nbsp;<br>
526Returns:<br>
527&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass.</tt></dd></dl>
528
Joe Gregorioa8451672011-09-15 09:53:21 -0400529<dl><dt><a name="Credentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
530representation&nbsp;produced&nbsp;by&nbsp;<a href="#Credentials-to_json">to_json</a>().<br>
531&nbsp;<br>
532Args:<br>
533&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#Credentials-to_json">to_json</a>().<br>
534&nbsp;<br>
535Returns:<br>
536&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#Credentials">Credentials</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
537&nbsp;&nbsp;<a href="#Credentials-to_json">to_json</a>().</tt></dd></dl>
538
Joe Gregorio6e537032011-02-09 23:04:26 -0500539<hr>
540Data descriptors defined here:<br>
541<dl><dt><strong>__dict__</strong></dt>
542<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
543</dl>
544<dl><dt><strong>__weakref__</strong></dt>
545<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
546</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400547<hr>
548Data and other attributes defined here:<br>
549<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
550
Joe Gregorio6e537032011-02-09 23:04:26 -0500551</td></tr></table> <p>
552<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
553<tr bgcolor="#ffc8d8">
554<td colspan=3 valign=bottom>&nbsp;<br>
555<font color="#000000" face="helvetica, arial"><a name="Error">class <strong>Error</strong></a>(<a href="exceptions.html#Exception">exceptions.Exception</a>)</font></td></tr>
556
557<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
558<td colspan=2><tt>Base&nbsp;error&nbsp;for&nbsp;this&nbsp;module.<br>&nbsp;</tt></td></tr>
559<tr><td>&nbsp;</td>
560<td width="100%"><dl><dt>Method resolution order:</dt>
561<dd><a href="oauth2client.client.html#Error">Error</a></dd>
562<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
563<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
564<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
565</dl>
566<hr>
567Data descriptors defined here:<br>
568<dl><dt><strong>__weakref__</strong></dt>
569<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
570</dl>
571<hr>
572Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500573<dl><dt><a name="Error-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500574
575<hr>
576Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
577<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#Error-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
578
579<hr>
580Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
581<dl><dt><a name="Error-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
582
583<dl><dt><a name="Error-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
584
585<dl><dt><a name="Error-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
586
587<dl><dt><a name="Error-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
588&nbsp;<br>
589Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
590
591<dl><dt><a name="Error-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
592
593<dl><dt><a name="Error-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
594
595<dl><dt><a name="Error-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
596
597<dl><dt><a name="Error-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
598
599<dl><dt><a name="Error-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
600
601<dl><dt><a name="Error-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
602
603<hr>
604Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
605<dl><dt><strong>__dict__</strong></dt>
606</dl>
607<dl><dt><strong>args</strong></dt>
608</dl>
609<dl><dt><strong>message</strong></dt>
610</dl>
611</td></tr></table> <p>
612<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
613<tr bgcolor="#ffc8d8">
614<td colspan=3 valign=bottom>&nbsp;<br>
615<font color="#000000" face="helvetica, arial"><a name="Flow">class <strong>Flow</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
616
617<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
618<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Flow">Flow</a>&nbsp;objects.<br>&nbsp;</tt></td></tr>
619<tr><td>&nbsp;</td>
620<td width="100%">Data descriptors defined here:<br>
621<dl><dt><strong>__dict__</strong></dt>
622<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
623</dl>
624<dl><dt><strong>__weakref__</strong></dt>
625<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
626</dl>
627</td></tr></table> <p>
628<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
629<tr bgcolor="#ffc8d8">
630<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500631<font color="#000000" face="helvetica, arial"><a name="FlowExchangeError">class <strong>FlowExchangeError</strong></a>(<a href="oauth2client.client.html#Error">Error</a>)</font></td></tr>
632
633<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioad258e22011-02-22 22:53:30 -0500634<td colspan=2><tt><a href="#Error">Error</a>&nbsp;trying&nbsp;to&nbsp;exchange&nbsp;an&nbsp;authorization&nbsp;grant&nbsp;for&nbsp;an&nbsp;access&nbsp;token.<br>&nbsp;</tt></td></tr>
Joe Gregoriof8261112011-02-19 14:51:56 -0500635<tr><td>&nbsp;</td>
636<td width="100%"><dl><dt>Method resolution order:</dt>
637<dd><a href="oauth2client.client.html#FlowExchangeError">FlowExchangeError</a></dd>
638<dd><a href="oauth2client.client.html#Error">Error</a></dd>
639<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
640<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
641<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
642</dl>
643<hr>
644Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
645<dl><dt><strong>__weakref__</strong></dt>
646<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
647</dl>
648<hr>
649Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500650<dl><dt><a name="FlowExchangeError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregoriof8261112011-02-19 14:51:56 -0500651
652<hr>
653Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
654<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#FlowExchangeError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
655
656<hr>
657Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
658<dl><dt><a name="FlowExchangeError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
659
660<dl><dt><a name="FlowExchangeError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
661
662<dl><dt><a name="FlowExchangeError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
663
664<dl><dt><a name="FlowExchangeError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
665&nbsp;<br>
666Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
667
668<dl><dt><a name="FlowExchangeError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
669
670<dl><dt><a name="FlowExchangeError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
671
672<dl><dt><a name="FlowExchangeError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
673
674<dl><dt><a name="FlowExchangeError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
675
676<dl><dt><a name="FlowExchangeError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#FlowExchangeError-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
677
678<dl><dt><a name="FlowExchangeError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
679
680<hr>
681Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
682<dl><dt><strong>__dict__</strong></dt>
683</dl>
684<dl><dt><strong>args</strong></dt>
685</dl>
686<dl><dt><strong>message</strong></dt>
687</dl>
688</td></tr></table> <p>
689<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
690<tr bgcolor="#ffc8d8">
691<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500692<font color="#000000" face="helvetica, arial"><a name="MemoryCache">class <strong>MemoryCache</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
693
694<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
695<td colspan=2><tt>httplib2&nbsp;Cache&nbsp;implementation&nbsp;which&nbsp;only&nbsp;caches&nbsp;locally.<br>&nbsp;</tt></td></tr>
696<tr><td>&nbsp;</td>
697<td width="100%">Methods defined here:<br>
698<dl><dt><a name="MemoryCache-__init__"><strong>__init__</strong></a>(self)</dt></dl>
699
700<dl><dt><a name="MemoryCache-delete"><strong>delete</strong></a>(self, key)</dt></dl>
701
702<dl><dt><a name="MemoryCache-get"><strong>get</strong></a>(self, key)</dt></dl>
703
704<dl><dt><a name="MemoryCache-set"><strong>set</strong></a>(self, key, value)</dt></dl>
705
706<hr>
707Data descriptors defined here:<br>
708<dl><dt><strong>__dict__</strong></dt>
709<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
710</dl>
711<dl><dt><strong>__weakref__</strong></dt>
712<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
713</dl>
714</td></tr></table> <p>
715<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
716<tr bgcolor="#ffc8d8">
717<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500718<font color="#000000" face="helvetica, arial"><a name="OAuth2Credentials">class <strong>OAuth2Credentials</strong></a>(<a href="oauth2client.client.html#Credentials">Credentials</a>)</font></td></tr>
719
720<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400721<td colspan=2><tt><a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;for&nbsp;OAuth&nbsp;2.0.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500722&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500723<a href="#Credentials">Credentials</a>&nbsp;can&nbsp;be&nbsp;applied&nbsp;to&nbsp;an&nbsp;httplib2.Http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;using&nbsp;the&nbsp;<a href="#OAuth2Credentials-authorize">authorize</a>()<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500724method,&nbsp;which&nbsp;then&nbsp;adds&nbsp;the&nbsp;OAuth&nbsp;2.0&nbsp;access&nbsp;token&nbsp;to&nbsp;each&nbsp;request.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500725&nbsp;<br>
726<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
727<tr><td>&nbsp;</td>
728<td width="100%"><dl><dt>Method resolution order:</dt>
729<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
730<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
731<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
732</dl>
733<hr>
734Methods defined here:<br>
735<dl><dt><a name="OAuth2Credentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim&nbsp;the&nbsp;state&nbsp;down&nbsp;to&nbsp;something&nbsp;that&nbsp;can&nbsp;be&nbsp;pickled.</tt></dd></dl>
736
Joe Gregoriob417caf2011-12-08 12:04:24 -0500737<dl><dt><a name="OAuth2Credentials-__init__"><strong>__init__</strong></a>(self, access_token, client_id, client_secret, refresh_token, token_expiry, token_uri, user_agent, id_token<font color="#909090">=None</font>)</dt><dd><tt>Create&nbsp;an&nbsp;instance&nbsp;of&nbsp;<a href="#OAuth2Credentials">OAuth2Credentials</a>.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500738&nbsp;<br>
739This&nbsp;constructor&nbsp;is&nbsp;not&nbsp;usually&nbsp;called&nbsp;by&nbsp;the&nbsp;user,&nbsp;instead<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500740<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;are&nbsp;instantiated&nbsp;by&nbsp;the&nbsp;<a href="#OAuth2WebServerFlow">OAuth2WebServerFlow</a>.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500741&nbsp;<br>
742Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400743&nbsp;&nbsp;access_token:&nbsp;string,&nbsp;access&nbsp;token.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500744&nbsp;&nbsp;client_id:&nbsp;string,&nbsp;client&nbsp;identifier.<br>
745&nbsp;&nbsp;client_secret:&nbsp;string,&nbsp;client&nbsp;secret.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500746&nbsp;&nbsp;refresh_token:&nbsp;string,&nbsp;refresh&nbsp;token.<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400747&nbsp;&nbsp;token_expiry:&nbsp;datetime,&nbsp;when&nbsp;the&nbsp;access_token&nbsp;expires.<br>
748&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;of&nbsp;token&nbsp;endpoint.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500749&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500750&nbsp;&nbsp;id_token:&nbsp;<a href="__builtin__.html#object">object</a>,&nbsp;The&nbsp;identity&nbsp;of&nbsp;the&nbsp;resource&nbsp;owner.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500751&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500752Notes:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500753&nbsp;&nbsp;store:&nbsp;callable,&nbsp;A&nbsp;callable&nbsp;that&nbsp;when&nbsp;passed&nbsp;a&nbsp;Credential<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500754&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;store&nbsp;the&nbsp;credential&nbsp;back&nbsp;to&nbsp;where&nbsp;it&nbsp;came&nbsp;from.<br>
755&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;needed&nbsp;to&nbsp;store&nbsp;the&nbsp;latest&nbsp;access_token&nbsp;if&nbsp;it<br>
756&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.</tt></dd></dl>
757
758<dl><dt><a name="OAuth2Credentials-__setstate__"><strong>__setstate__</strong></a>(self, state)</dt><dd><tt>Reconstitute&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;being&nbsp;pickled.</tt></dd></dl>
759
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500760<dl><dt><a name="OAuth2Credentials-apply"><strong>apply</strong></a>(self, headers)</dt><dd><tt>Add&nbsp;the&nbsp;authorization&nbsp;to&nbsp;the&nbsp;headers.<br>
761&nbsp;<br>
762Args:<br>
763&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;the&nbsp;headers&nbsp;to&nbsp;add&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;to.</tt></dd></dl>
764
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500765<dl><dt><a name="OAuth2Credentials-authorize"><strong>authorize</strong></a>(self, http)</dt><dd><tt>Authorize&nbsp;an&nbsp;httplib2.Http&nbsp;instance&nbsp;with&nbsp;these&nbsp;credentials.<br>
766&nbsp;<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500767The&nbsp;modified&nbsp;http.request&nbsp;method&nbsp;will&nbsp;add&nbsp;authentication&nbsp;headers&nbsp;to&nbsp;each<br>
768request&nbsp;and&nbsp;will&nbsp;refresh&nbsp;access_tokens&nbsp;when&nbsp;a&nbsp;401&nbsp;is&nbsp;received&nbsp;on&nbsp;a<br>
769request.&nbsp;In&nbsp;addition&nbsp;the&nbsp;http.request&nbsp;method&nbsp;has&nbsp;a&nbsp;credentials&nbsp;property,<br>
770http.request.credentials,&nbsp;which&nbsp;is&nbsp;the&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;that&nbsp;authorized<br>
771it.<br>
772&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500773Args:<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500774&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
775&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
776&nbsp;<br>
777Returns:<br>
778&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
779&nbsp;<br>
780Example:<br>
781&nbsp;<br>
782&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
783&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#OAuth2Credentials-authorize">authorize</a>(h)<br>
784&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400785You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
786because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
787signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
788that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
789version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500790
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500791<dl><dt><a name="OAuth2Credentials-refresh"><strong>refresh</strong></a>(self, http)</dt><dd><tt>Forces&nbsp;a&nbsp;refresh&nbsp;of&nbsp;the&nbsp;access_token.<br>
792&nbsp;<br>
793Args:<br>
794&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;to&nbsp;make&nbsp;the&nbsp;refresh<br>
795&nbsp;&nbsp;&nbsp;&nbsp;request.</tt></dd></dl>
796
Joe Gregorioa8451672011-09-15 09:53:21 -0400797<dl><dt><a name="OAuth2Credentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set&nbsp;the&nbsp;<a href="#Storage">Storage</a>&nbsp;for&nbsp;the&nbsp;credential.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500798&nbsp;<br>
799Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400800&nbsp;&nbsp;store:&nbsp;<a href="#Storage">Storage</a>,&nbsp;an&nbsp;implementation&nbsp;of&nbsp;Stroage&nbsp;<a href="__builtin__.html#object">object</a>.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500801&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;needed&nbsp;to&nbsp;store&nbsp;the&nbsp;latest&nbsp;access_token&nbsp;if&nbsp;it<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400802&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
803&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
804&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
805
806<dl><dt><a name="OAuth2Credentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
807
808<hr>
809Class methods defined here:<br>
810<dl><dt><a name="OAuth2Credentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;a&nbsp;JSON&nbsp;description&nbsp;of&nbsp;it.&nbsp;The&nbsp;JSON<br>
811should&nbsp;have&nbsp;been&nbsp;produced&nbsp;by&nbsp;calling&nbsp;.<a href="#OAuth2Credentials-to_json">to_json</a>()&nbsp;on&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>.<br>
812&nbsp;<br>
813Args:<br>
814&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
815&nbsp;<br>
816Returns:<br>
817&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass.</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500818
819<hr>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500820Data descriptors defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400821<dl><dt><strong>access_token_expired</strong></dt>
822<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
823&nbsp;<br>
824If&nbsp;the&nbsp;token_expiry&nbsp;isn't&nbsp;set,&nbsp;we&nbsp;assume&nbsp;the&nbsp;token&nbsp;doesn't&nbsp;expire.</tt></dd>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500825</dl>
826<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400827Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
828<dl><dt><a name="OAuth2Credentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
829representation&nbsp;produced&nbsp;by&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().<br>
830&nbsp;<br>
831Args:<br>
832&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().<br>
833&nbsp;<br>
834Returns:<br>
835&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#Credentials">Credentials</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
836&nbsp;&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().</tt></dd></dl>
837
838<hr>
Joe Gregorio6e537032011-02-09 23:04:26 -0500839Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
840<dl><dt><strong>__dict__</strong></dt>
841<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
842</dl>
843<dl><dt><strong>__weakref__</strong></dt>
844<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
845</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400846<hr>
847Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
848<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
849
Joe Gregorio6e537032011-02-09 23:04:26 -0500850</td></tr></table> <p>
851<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
852<tr bgcolor="#ffc8d8">
853<td colspan=3 valign=bottom>&nbsp;<br>
854<font color="#000000" face="helvetica, arial"><a name="OAuth2WebServerFlow">class <strong>OAuth2WebServerFlow</strong></a>(<a href="oauth2client.client.html#Flow">Flow</a>)</font></td></tr>
855
856<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
857<td colspan=2><tt>Does&nbsp;the&nbsp;Web&nbsp;Server&nbsp;<a href="#Flow">Flow</a>&nbsp;for&nbsp;OAuth&nbsp;2.0.<br>
858&nbsp;<br>
859<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
860<tr><td>&nbsp;</td>
861<td width="100%"><dl><dt>Method resolution order:</dt>
862<dd><a href="oauth2client.client.html#OAuth2WebServerFlow">OAuth2WebServerFlow</a></dd>
863<dd><a href="oauth2client.client.html#Flow">Flow</a></dd>
864<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
865</dl>
866<hr>
867Methods defined here:<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400868<dl><dt><a name="OAuth2WebServerFlow-__init__"><strong>__init__</strong></a>(self, client_id, client_secret, scope, user_agent<font color="#909090">=None</font>, auth_uri<font color="#909090">='https://accounts.google.com/o/oauth2/auth'</font>, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **kwargs)</dt><dd><tt>Constructor&nbsp;for&nbsp;<a href="#OAuth2WebServerFlow">OAuth2WebServerFlow</a>.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500869&nbsp;<br>
870Args:<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500871&nbsp;&nbsp;client_id:&nbsp;string,&nbsp;client&nbsp;identifier.<br>
872&nbsp;&nbsp;client_secret:&nbsp;string&nbsp;client&nbsp;secret.<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400873&nbsp;&nbsp;scope:&nbsp;string&nbsp;or&nbsp;list&nbsp;of&nbsp;strings,&nbsp;scope(s)&nbsp;of&nbsp;the&nbsp;credentials&nbsp;being<br>
874&nbsp;&nbsp;&nbsp;&nbsp;requested.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500875&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500876&nbsp;&nbsp;auth_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;authorization&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
877&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;to&nbsp;Google's&nbsp;endpoints&nbsp;but&nbsp;any&nbsp;OAuth&nbsp;2.0&nbsp;provider&nbsp;can&nbsp;be&nbsp;used.<br>
878&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
879&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;to&nbsp;Google's&nbsp;endpoints&nbsp;but&nbsp;any&nbsp;OAuth&nbsp;2.0&nbsp;provider&nbsp;can&nbsp;be&nbsp;used.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500880&nbsp;&nbsp;**kwargs:&nbsp;dict,&nbsp;The&nbsp;keyword&nbsp;arguments&nbsp;are&nbsp;all&nbsp;optional&nbsp;and&nbsp;required<br>
881&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parameters&nbsp;for&nbsp;the&nbsp;OAuth&nbsp;calls.</tt></dd></dl>
882
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500883<dl><dt><a name="OAuth2WebServerFlow-step1_get_authorize_url"><strong>step1_get_authorize_url</strong></a>(self, redirect_uri<font color="#909090">='urn:ietf:wg:oauth:2.0:oob'</font>)</dt><dd><tt>Returns&nbsp;a&nbsp;URI&nbsp;to&nbsp;redirect&nbsp;to&nbsp;the&nbsp;provider.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500884&nbsp;<br>
885Args:<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500886&nbsp;&nbsp;redirect_uri:&nbsp;string,&nbsp;Either&nbsp;the&nbsp;string&nbsp;'urn:ietf:wg:oauth:2.0:oob'&nbsp;for<br>
887&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;non-web-based&nbsp;application,&nbsp;or&nbsp;a&nbsp;URI&nbsp;that&nbsp;handles&nbsp;the&nbsp;callback&nbsp;from<br>
888&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;authorization&nbsp;server.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500889&nbsp;<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500890If&nbsp;redirect_uri&nbsp;is&nbsp;'urn:ietf:wg:oauth:2.0:oob'&nbsp;then&nbsp;pass&nbsp;in&nbsp;the<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500891generated&nbsp;verification&nbsp;code&nbsp;to&nbsp;step2_exchange,<br>
892otherwise&nbsp;pass&nbsp;in&nbsp;the&nbsp;query&nbsp;parameters&nbsp;received<br>
893at&nbsp;the&nbsp;callback&nbsp;uri&nbsp;to&nbsp;step2_exchange.</tt></dd></dl>
894
Joe Gregoriof8261112011-02-19 14:51:56 -0500895<dl><dt><a name="OAuth2WebServerFlow-step2_exchange"><strong>step2_exchange</strong></a>(self, code, http<font color="#909090">=None</font>)</dt><dd><tt>Exhanges&nbsp;a&nbsp;code&nbsp;for&nbsp;<a href="#OAuth2Credentials">OAuth2Credentials</a>.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500896&nbsp;<br>
897Args:<br>
898&nbsp;&nbsp;code:&nbsp;string&nbsp;or&nbsp;dict,&nbsp;either&nbsp;the&nbsp;code&nbsp;as&nbsp;a&nbsp;string,&nbsp;or&nbsp;a&nbsp;dictionary<br>
899&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;query&nbsp;parameters&nbsp;to&nbsp;the&nbsp;redirect_uri,&nbsp;which&nbsp;contains<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500900&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;code.<br>
901&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;optional&nbsp;http&nbsp;instance&nbsp;to&nbsp;use&nbsp;to&nbsp;do&nbsp;the&nbsp;fetch</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500902
903<hr>
904Data descriptors inherited from <a href="oauth2client.client.html#Flow">Flow</a>:<br>
905<dl><dt><strong>__dict__</strong></dt>
906<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
907</dl>
908<dl><dt><strong>__weakref__</strong></dt>
909<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
910</dl>
911</td></tr></table> <p>
912<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
913<tr bgcolor="#ffc8d8">
914<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500915<font color="#000000" face="helvetica, arial"><a name="SignedJwtAssertionCredentials">class <strong>SignedJwtAssertionCredentials</strong></a>(<a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a>)</font></td></tr>
916
917<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
918<td colspan=2><tt><a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;used&nbsp;for&nbsp;OAuth&nbsp;2.0&nbsp;Signed&nbsp;JWT&nbsp;assertion&nbsp;grants.<br>
919&nbsp;<br>
920This&nbsp;credential&nbsp;does&nbsp;not&nbsp;require&nbsp;a&nbsp;flow&nbsp;to&nbsp;instantiate&nbsp;because&nbsp;it<br>
921represents&nbsp;a&nbsp;two&nbsp;legged&nbsp;flow,&nbsp;and&nbsp;therefore&nbsp;has&nbsp;all&nbsp;of&nbsp;the&nbsp;required<br>
922information&nbsp;to&nbsp;generate&nbsp;and&nbsp;refresh&nbsp;its&nbsp;own&nbsp;access&nbsp;tokens.<br>&nbsp;</tt></td></tr>
923<tr><td>&nbsp;</td>
924<td width="100%"><dl><dt>Method resolution order:</dt>
925<dd><a href="oauth2client.client.html#SignedJwtAssertionCredentials">SignedJwtAssertionCredentials</a></dd>
926<dd><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a></dd>
927<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
928<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
929<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
930</dl>
931<hr>
932Methods defined here:<br>
933<dl><dt><a name="SignedJwtAssertionCredentials-__init__"><strong>__init__</strong></a>(self, service_account_name, private_key, scope, private_key_password<font color="#909090">='notasecret'</font>, user_agent<font color="#909090">=None</font>, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **kwargs)</dt><dd><tt>Constructor&nbsp;for&nbsp;<a href="#SignedJwtAssertionCredentials">SignedJwtAssertionCredentials</a>.<br>
934&nbsp;<br>
935Args:<br>
936&nbsp;&nbsp;service_account_name:&nbsp;string,&nbsp;id&nbsp;for&nbsp;account,&nbsp;usually&nbsp;an&nbsp;email&nbsp;address.<br>
937&nbsp;&nbsp;private_key:&nbsp;string,&nbsp;private&nbsp;key&nbsp;in&nbsp;P12&nbsp;format.<br>
938&nbsp;&nbsp;scope:&nbsp;string&nbsp;or&nbsp;list&nbsp;of&nbsp;strings,&nbsp;scope(s)&nbsp;of&nbsp;the&nbsp;credentials&nbsp;being<br>
939&nbsp;&nbsp;&nbsp;&nbsp;requested.<br>
940&nbsp;&nbsp;private_key_password:&nbsp;string,&nbsp;password&nbsp;for&nbsp;private_key.<br>
941&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
942&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
943&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;to&nbsp;Google's&nbsp;endpoints&nbsp;but&nbsp;any&nbsp;OAuth&nbsp;2.0&nbsp;provider&nbsp;can&nbsp;be&nbsp;used.<br>
944&nbsp;&nbsp;kwargs:&nbsp;kwargs,&nbsp;Additional&nbsp;parameters&nbsp;to&nbsp;add&nbsp;to&nbsp;the&nbsp;JWT&nbsp;token,&nbsp;for<br>
945&nbsp;&nbsp;&nbsp;&nbsp;example&nbsp;prn=joe@xample.org.</tt></dd></dl>
946
947<hr>
948Class methods defined here:<br>
949<dl><dt><a name="SignedJwtAssertionCredentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt></dl>
950
951<hr>
952Data and other attributes defined here:<br>
953<dl><dt><strong>MAX_TOKEN_LIFETIME_SECS</strong> = 3600</dl>
954
955<hr>
956Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
957<dl><dt><a name="SignedJwtAssertionCredentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim&nbsp;the&nbsp;state&nbsp;down&nbsp;to&nbsp;something&nbsp;that&nbsp;can&nbsp;be&nbsp;pickled.</tt></dd></dl>
958
959<dl><dt><a name="SignedJwtAssertionCredentials-__setstate__"><strong>__setstate__</strong></a>(self, state)</dt><dd><tt>Reconstitute&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;being&nbsp;pickled.</tt></dd></dl>
960
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500961<dl><dt><a name="SignedJwtAssertionCredentials-apply"><strong>apply</strong></a>(self, headers)</dt><dd><tt>Add&nbsp;the&nbsp;authorization&nbsp;to&nbsp;the&nbsp;headers.<br>
962&nbsp;<br>
963Args:<br>
964&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;the&nbsp;headers&nbsp;to&nbsp;add&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;to.</tt></dd></dl>
965
Joe Gregoriob417caf2011-12-08 12:04:24 -0500966<dl><dt><a name="SignedJwtAssertionCredentials-authorize"><strong>authorize</strong></a>(self, http)</dt><dd><tt>Authorize&nbsp;an&nbsp;httplib2.Http&nbsp;instance&nbsp;with&nbsp;these&nbsp;credentials.<br>
967&nbsp;<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500968The&nbsp;modified&nbsp;http.request&nbsp;method&nbsp;will&nbsp;add&nbsp;authentication&nbsp;headers&nbsp;to&nbsp;each<br>
969request&nbsp;and&nbsp;will&nbsp;refresh&nbsp;access_tokens&nbsp;when&nbsp;a&nbsp;401&nbsp;is&nbsp;received&nbsp;on&nbsp;a<br>
970request.&nbsp;In&nbsp;addition&nbsp;the&nbsp;http.request&nbsp;method&nbsp;has&nbsp;a&nbsp;credentials&nbsp;property,<br>
971http.request.credentials,&nbsp;which&nbsp;is&nbsp;the&nbsp;<a href="#Credentials">Credentials</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;that&nbsp;authorized<br>
972it.<br>
973&nbsp;<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500974Args:<br>
975&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
976&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
977&nbsp;<br>
978Returns:<br>
979&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
980&nbsp;<br>
981Example:<br>
982&nbsp;<br>
983&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
984&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#SignedJwtAssertionCredentials-authorize">authorize</a>(h)<br>
985&nbsp;<br>
986You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
987because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
988signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
989that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
990version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
991
Joe Gregorio3d55ac52012-02-21 10:11:19 -0500992<dl><dt><a name="SignedJwtAssertionCredentials-refresh"><strong>refresh</strong></a>(self, http)</dt><dd><tt>Forces&nbsp;a&nbsp;refresh&nbsp;of&nbsp;the&nbsp;access_token.<br>
993&nbsp;<br>
994Args:<br>
995&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;to&nbsp;make&nbsp;the&nbsp;refresh<br>
996&nbsp;&nbsp;&nbsp;&nbsp;request.</tt></dd></dl>
997
Joe Gregoriob417caf2011-12-08 12:04:24 -0500998<dl><dt><a name="SignedJwtAssertionCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set&nbsp;the&nbsp;<a href="#Storage">Storage</a>&nbsp;for&nbsp;the&nbsp;credential.<br>
999&nbsp;<br>
1000Args:<br>
1001&nbsp;&nbsp;store:&nbsp;<a href="#Storage">Storage</a>,&nbsp;an&nbsp;implementation&nbsp;of&nbsp;Stroage&nbsp;<a href="__builtin__.html#object">object</a>.<br>
1002&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;needed&nbsp;to&nbsp;store&nbsp;the&nbsp;latest&nbsp;access_token&nbsp;if&nbsp;it<br>
1003&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
1004&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
1005&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
1006
1007<dl><dt><a name="SignedJwtAssertionCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
1008
1009<hr>
1010Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
1011<dl><dt><strong>access_token_expired</strong></dt>
1012<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
1013&nbsp;<br>
1014If&nbsp;the&nbsp;token_expiry&nbsp;isn't&nbsp;set,&nbsp;we&nbsp;assume&nbsp;the&nbsp;token&nbsp;doesn't&nbsp;expire.</tt></dd>
1015</dl>
1016<hr>
1017Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
1018<dl><dt><a name="SignedJwtAssertionCredentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#Credentials">Credentials</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
1019representation&nbsp;produced&nbsp;by&nbsp;<a href="#SignedJwtAssertionCredentials-to_json">to_json</a>().<br>
1020&nbsp;<br>
1021Args:<br>
1022&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#SignedJwtAssertionCredentials-to_json">to_json</a>().<br>
1023&nbsp;<br>
1024Returns:<br>
1025&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#Credentials">Credentials</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
1026&nbsp;&nbsp;<a href="#SignedJwtAssertionCredentials-to_json">to_json</a>().</tt></dd></dl>
1027
1028<hr>
1029Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
1030<dl><dt><strong>__dict__</strong></dt>
1031<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
1032</dl>
1033<dl><dt><strong>__weakref__</strong></dt>
1034<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
1035</dl>
1036<hr>
1037Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
1038<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
1039
1040</td></tr></table> <p>
1041<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
1042<tr bgcolor="#ffc8d8">
1043<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001044<font color="#000000" face="helvetica, arial"><a name="Storage">class <strong>Storage</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
1045
1046<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
1047<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Storage">Storage</a>&nbsp;objects.<br>
1048&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -04001049Store&nbsp;and&nbsp;retrieve&nbsp;a&nbsp;single&nbsp;credential.&nbsp;&nbsp;This&nbsp;class&nbsp;supports&nbsp;locking<br>
1050such&nbsp;that&nbsp;multiple&nbsp;processes&nbsp;and&nbsp;threads&nbsp;can&nbsp;operate&nbsp;on&nbsp;a&nbsp;single<br>
1051store.<br>&nbsp;</tt></td></tr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001052<tr><td>&nbsp;</td>
1053<td width="100%">Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -04001054<dl><dt><a name="Storage-acquire_lock"><strong>acquire_lock</strong></a>(self)</dt><dd><tt>Acquires&nbsp;any&nbsp;lock&nbsp;necessary&nbsp;to&nbsp;access&nbsp;this&nbsp;<a href="#Storage">Storage</a>.<br>
1055&nbsp;<br>
1056This&nbsp;lock&nbsp;is&nbsp;not&nbsp;reentrant.</tt></dd></dl>
1057
Joe Gregorio3d55ac52012-02-21 10:11:19 -05001058<dl><dt><a name="Storage-delete"><strong>delete</strong></a>(self)</dt><dd><tt>Delete&nbsp;credential.<br>
1059&nbsp;<br>
1060Frees&nbsp;any&nbsp;resources&nbsp;associated&nbsp;with&nbsp;storing&nbsp;the&nbsp;credential.<br>
1061The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;*not*&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
1062&nbsp;<br>
1063Returns:<br>
1064&nbsp;&nbsp;None</tt></dd></dl>
1065
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001066<dl><dt><a name="Storage-get"><strong>get</strong></a>(self)</dt><dd><tt>Retrieve&nbsp;credential.<br>
1067&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -04001068The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;*not*&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
1069&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001070Returns:<br>
Joe Gregorio20a5aa92011-04-01 17:44:25 -04001071&nbsp;&nbsp;oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001072
Joe Gregorio3d55ac52012-02-21 10:11:19 -05001073<dl><dt><a name="Storage-locked_delete"><strong>locked_delete</strong></a>(self)</dt><dd><tt>Delete&nbsp;a&nbsp;credential.<br>
1074&nbsp;<br>
1075The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.</tt></dd></dl>
1076
Joe Gregorioa8451672011-09-15 09:53:21 -04001077<dl><dt><a name="Storage-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve&nbsp;credential.<br>
1078&nbsp;<br>
1079The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
1080&nbsp;<br>
1081Returns:<br>
1082&nbsp;&nbsp;oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
1083
1084<dl><dt><a name="Storage-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write&nbsp;a&nbsp;credential.<br>
1085&nbsp;<br>
1086The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001087&nbsp;<br>
1088Args:<br>
1089&nbsp;&nbsp;credentials:&nbsp;<a href="#Credentials">Credentials</a>,&nbsp;the&nbsp;credentials&nbsp;to&nbsp;store.</tt></dd></dl>
1090
Joe Gregorioa8451672011-09-15 09:53:21 -04001091<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write&nbsp;a&nbsp;credential.<br>
1092&nbsp;<br>
1093The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
1094&nbsp;<br>
1095Args:<br>
1096&nbsp;&nbsp;credentials:&nbsp;<a href="#Credentials">Credentials</a>,&nbsp;the&nbsp;credentials&nbsp;to&nbsp;store.</tt></dd></dl>
1097
1098<dl><dt><a name="Storage-release_lock"><strong>release_lock</strong></a>(self)</dt><dd><tt>Release&nbsp;the&nbsp;<a href="#Storage">Storage</a>&nbsp;lock.<br>
1099&nbsp;<br>
1100Trying&nbsp;to&nbsp;release&nbsp;a&nbsp;lock&nbsp;that&nbsp;isn't&nbsp;held&nbsp;will&nbsp;result&nbsp;in&nbsp;a<br>
1101RuntimeError.</tt></dd></dl>
1102
Joe Gregorio3b79fa82011-02-17 11:47:17 -05001103<hr>
1104Data descriptors defined here:<br>
1105<dl><dt><strong>__dict__</strong></dt>
1106<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
1107</dl>
1108<dl><dt><strong>__weakref__</strong></dt>
1109<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
1110</dl>
Joe Gregorio761c4562011-10-28 14:36:24 -04001111</td></tr></table> <p>
1112<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
1113<tr bgcolor="#ffc8d8">
1114<td colspan=3 valign=bottom>&nbsp;<br>
1115<font color="#000000" face="helvetica, arial"><a name="UnknownClientSecretsFlowError">class <strong>UnknownClientSecretsFlowError</strong></a>(<a href="oauth2client.client.html#Error">Error</a>)</font></td></tr>
1116
1117<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
1118<td colspan=2><tt>The&nbsp;client&nbsp;secrets&nbsp;file&nbsp;called&nbsp;for&nbsp;an&nbsp;unknown&nbsp;type&nbsp;of&nbsp;OAuth&nbsp;2.0&nbsp;flow.<br>&nbsp;</tt></td></tr>
1119<tr><td>&nbsp;</td>
1120<td width="100%"><dl><dt>Method resolution order:</dt>
1121<dd><a href="oauth2client.client.html#UnknownClientSecretsFlowError">UnknownClientSecretsFlowError</a></dd>
1122<dd><a href="oauth2client.client.html#Error">Error</a></dd>
1123<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
1124<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
1125<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
1126</dl>
1127<hr>
1128Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
1129<dl><dt><strong>__weakref__</strong></dt>
1130<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
1131</dl>
1132<hr>
1133Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -05001134<dl><dt><a name="UnknownClientSecretsFlowError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregorio761c4562011-10-28 14:36:24 -04001135
1136<hr>
1137Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
1138<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#UnknownClientSecretsFlowError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
1139
1140<hr>
1141Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
1142<dl><dt><a name="UnknownClientSecretsFlowError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
1143
1144<dl><dt><a name="UnknownClientSecretsFlowError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
1145
1146<dl><dt><a name="UnknownClientSecretsFlowError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
1147
1148<dl><dt><a name="UnknownClientSecretsFlowError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
1149&nbsp;<br>
1150Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
1151
1152<dl><dt><a name="UnknownClientSecretsFlowError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
1153
1154<dl><dt><a name="UnknownClientSecretsFlowError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
1155
1156<dl><dt><a name="UnknownClientSecretsFlowError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
1157
1158<dl><dt><a name="UnknownClientSecretsFlowError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
1159
1160<dl><dt><a name="UnknownClientSecretsFlowError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#UnknownClientSecretsFlowError-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
1161
1162<dl><dt><a name="UnknownClientSecretsFlowError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
1163
1164<hr>
1165Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
1166<dl><dt><strong>__dict__</strong></dt>
1167</dl>
1168<dl><dt><strong>args</strong></dt>
1169</dl>
1170<dl><dt><strong>message</strong></dt>
1171</dl>
Joe Gregoriob417caf2011-12-08 12:04:24 -05001172</td></tr></table> <p>
1173<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
1174<tr bgcolor="#ffc8d8">
1175<td colspan=3 valign=bottom>&nbsp;<br>
1176<font color="#000000" face="helvetica, arial"><a name="VerifyJwtTokenError">class <strong>VerifyJwtTokenError</strong></a>(<a href="oauth2client.client.html#Error">Error</a>)</font></td></tr>
1177
1178<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
1179<td colspan=2><tt>Could&nbsp;on&nbsp;retrieve&nbsp;certificates&nbsp;for&nbsp;validation.<br>&nbsp;</tt></td></tr>
1180<tr><td>&nbsp;</td>
1181<td width="100%"><dl><dt>Method resolution order:</dt>
1182<dd><a href="oauth2client.client.html#VerifyJwtTokenError">VerifyJwtTokenError</a></dd>
1183<dd><a href="oauth2client.client.html#Error">Error</a></dd>
1184<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
1185<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
1186<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
1187</dl>
1188<hr>
1189Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
1190<dl><dt><strong>__weakref__</strong></dt>
1191<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
1192</dl>
1193<hr>
1194Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
1195<dl><dt><a name="VerifyJwtTokenError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;x.__class__.__doc__&nbsp;for&nbsp;signature</tt></dd></dl>
1196
1197<hr>
1198Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
1199<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#VerifyJwtTokenError-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
1200
1201<hr>
1202Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
1203<dl><dt><a name="VerifyJwtTokenError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
1204
1205<dl><dt><a name="VerifyJwtTokenError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
1206
1207<dl><dt><a name="VerifyJwtTokenError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
1208
1209<dl><dt><a name="VerifyJwtTokenError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
1210&nbsp;<br>
1211Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
1212
1213<dl><dt><a name="VerifyJwtTokenError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
1214
1215<dl><dt><a name="VerifyJwtTokenError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
1216
1217<dl><dt><a name="VerifyJwtTokenError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
1218
1219<dl><dt><a name="VerifyJwtTokenError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
1220
1221<dl><dt><a name="VerifyJwtTokenError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#VerifyJwtTokenError-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
1222
1223<dl><dt><a name="VerifyJwtTokenError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
1224
1225<hr>
1226Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
1227<dl><dt><strong>__dict__</strong></dt>
1228</dl>
1229<dl><dt><strong>args</strong></dt>
1230</dl>
1231<dl><dt><strong>message</strong></dt>
1232</dl>
Joe Gregorio6e537032011-02-09 23:04:26 -05001233</td></tr></table></td></tr></table><p>
1234<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio761c4562011-10-28 14:36:24 -04001235<tr bgcolor="#eeaa77">
1236<td colspan=3 valign=bottom>&nbsp;<br>
1237<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
1238
1239<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
1240<td width="100%"><dl><dt><a name="-flow_from_clientsecrets"><strong>flow_from_clientsecrets</strong></a>(filename, scope, message<font color="#909090">=None</font>)</dt><dd><tt>Create&nbsp;a&nbsp;<a href="#Flow">Flow</a>&nbsp;from&nbsp;a&nbsp;clientsecrets&nbsp;file.<br>
1241&nbsp;<br>
1242Will&nbsp;create&nbsp;the&nbsp;right&nbsp;kind&nbsp;of&nbsp;<a href="#Flow">Flow</a>&nbsp;based&nbsp;on&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;clientsecrets<br>
1243file&nbsp;or&nbsp;will&nbsp;raise&nbsp;InvalidClientSecretsError&nbsp;for&nbsp;unknown&nbsp;types&nbsp;of&nbsp;Flows.<br>
1244&nbsp;<br>
1245Args:<br>
1246&nbsp;&nbsp;filename:&nbsp;string,&nbsp;File&nbsp;name&nbsp;of&nbsp;client&nbsp;secrets.<br>
1247&nbsp;&nbsp;scope:&nbsp;string&nbsp;or&nbsp;list&nbsp;of&nbsp;strings,&nbsp;scope(s)&nbsp;to&nbsp;request.<br>
1248&nbsp;&nbsp;message:&nbsp;string,&nbsp;A&nbsp;friendly&nbsp;string&nbsp;to&nbsp;display&nbsp;to&nbsp;the&nbsp;user&nbsp;if&nbsp;the<br>
1249&nbsp;&nbsp;&nbsp;&nbsp;clientsecrets&nbsp;file&nbsp;is&nbsp;missing&nbsp;or&nbsp;invalid.&nbsp;If&nbsp;message&nbsp;is&nbsp;provided&nbsp;then<br>
1250&nbsp;&nbsp;&nbsp;&nbsp;sys.exit&nbsp;will&nbsp;be&nbsp;called&nbsp;in&nbsp;the&nbsp;case&nbsp;of&nbsp;an&nbsp;error.&nbsp;If&nbsp;message&nbsp;in&nbsp;not<br>
1251&nbsp;&nbsp;&nbsp;&nbsp;provided&nbsp;then&nbsp;clientsecrets.InvalidClientSecretsError&nbsp;will&nbsp;be&nbsp;raised.<br>
1252&nbsp;<br>
1253Returns:<br>
1254&nbsp;&nbsp;A&nbsp;<a href="#Flow">Flow</a>&nbsp;<a href="__builtin__.html#object">object</a>.<br>
1255&nbsp;<br>
1256Raises:<br>
1257&nbsp;&nbsp;<a href="#UnknownClientSecretsFlowError">UnknownClientSecretsFlowError</a>&nbsp;if&nbsp;the&nbsp;file&nbsp;describes&nbsp;an&nbsp;unknown&nbsp;kind&nbsp;of&nbsp;<a href="#Flow">Flow</a>.<br>
1258&nbsp;&nbsp;clientsecrets.InvalidClientSecretsError&nbsp;if&nbsp;the&nbsp;clientsecrets&nbsp;file&nbsp;is<br>
1259&nbsp;&nbsp;&nbsp;&nbsp;invalid.</tt></dd></dl>
Joe Gregoriob417caf2011-12-08 12:04:24 -05001260 <dl><dt><a name="-verify_id_token"><strong>verify_id_token</strong></a>(id_token, audience, http<font color="#909090">=None</font>, cert_uri<font color="#909090">='https://www.googleapis.com/oauth2/v1/certs'</font>)</dt><dd><tt>Verifies&nbsp;a&nbsp;signed&nbsp;JWT&nbsp;id_token.<br>
1261&nbsp;<br>
1262Args:<br>
1263&nbsp;&nbsp;id_token:&nbsp;string,&nbsp;A&nbsp;Signed&nbsp;JWT.<br>
1264&nbsp;&nbsp;audience:&nbsp;string,&nbsp;The&nbsp;audience&nbsp;'aud'&nbsp;that&nbsp;the&nbsp;token&nbsp;should&nbsp;be&nbsp;for.<br>
1265&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;instance&nbsp;to&nbsp;use&nbsp;to&nbsp;make&nbsp;the&nbsp;HTTP&nbsp;request.&nbsp;Callers<br>
1266&nbsp;&nbsp;&nbsp;&nbsp;should&nbsp;supply&nbsp;an&nbsp;instance&nbsp;that&nbsp;has&nbsp;caching&nbsp;enabled.<br>
1267&nbsp;&nbsp;cert_uri:&nbsp;string,&nbsp;URI&nbsp;of&nbsp;the&nbsp;certificates&nbsp;in&nbsp;JSON&nbsp;format&nbsp;to<br>
1268&nbsp;&nbsp;&nbsp;&nbsp;verify&nbsp;the&nbsp;JWT&nbsp;against.<br>
1269&nbsp;<br>
1270Returns:<br>
1271&nbsp;&nbsp;The&nbsp;deserialized&nbsp;JSON&nbsp;in&nbsp;the&nbsp;JWT.<br>
1272&nbsp;<br>
1273Raises:<br>
1274&nbsp;&nbsp;oauth2client.crypt.AppIdentityError&nbsp;if&nbsp;the&nbsp;JWT&nbsp;fails&nbsp;to&nbsp;verify.</tt></dd></dl>
Joe Gregorio761c4562011-10-28 14:36:24 -04001275</td></tr></table><p>
1276<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio6e537032011-02-09 23:04:26 -05001277<tr bgcolor="#55aa55">
1278<td colspan=3 valign=bottom>&nbsp;<br>
1279<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
1280
1281<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregorio3d55ac52012-02-21 10:11:19 -05001282<td width="100%"><strong>EXPIRY_FORMAT</strong> = '%Y-%m-%dT%H:%M:%SZ'<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -05001283<strong>HAS_OPENSSL</strong> = True<br>
1284<strong>ID_TOKEN_VERIFICATON_CERTS</strong> = 'https://www.googleapis.com/oauth2/v1/certs'<br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -05001285<strong>OOB_CALLBACK_URN</strong> = 'urn:ietf:wg:oauth:2.0:oob'<br>
Joe Gregorioa8451672011-09-15 09:53:21 -04001286<strong>__author__</strong> = 'jcgregorio@google.com (Joe Gregorio)'<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -05001287<strong>logger</strong> = &lt;logging.Logger instance&gt;</td></tr></table><p>
Joe Gregorio6e537032011-02-09 23:04:26 -05001288<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
1289<tr bgcolor="#7799ee">
1290<td colspan=3 valign=bottom>&nbsp;<br>
1291<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
1292
1293<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
1294<td width="100%">jcgregorio@google.com&nbsp;(Joe&nbsp;Gregorio)</td></tr></table>
1295</body></html>