blob: e3d266b54ced65eeaf319041fa85b028d92c2ec8 [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 Gregorioa8451672011-09-15 09:53:21 -040011><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/client.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/client.py</a></font></td></tr></table>
12 <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>
22<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="copy.html">copy</a><br>
23<a href="datetime.html">datetime</a><br>
24</td><td width="25%" valign=top><a href="httplib2.html">httplib2</a><br>
25<a href="logging.html">logging</a><br>
26</td><td width="25%" valign=top><a href="simplejson.html">simplejson</a><br>
27<a href="urllib.html">urllib</a><br>
28</td><td width="25%" valign=top><a href="urlparse.html">urlparse</a><br>
29</td></tr></table></td></tr></table><p>
30<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
31<tr bgcolor="#ee77aa">
32<td colspan=3 valign=bottom>&nbsp;<br>
33<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
34
35<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
36<td width="100%"><dl>
37<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
38</font></dt><dd>
39<dl>
40<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Credentials">Credentials</a>
41</font></dt><dd>
42<dl>
43<dt><font face="helvetica, arial"><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050044</font></dt><dd>
45<dl>
46<dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenCredentials">AccessTokenCredentials</a>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -040047</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a>
Joe Gregorio6e537032011-02-09 23:04:26 -050048</font></dt></dl>
49</dd>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050050</dl>
51</dd>
Joe Gregorio6e537032011-02-09 23:04:26 -050052<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Flow">Flow</a>
53</font></dt><dd>
54<dl>
55<dt><font face="helvetica, arial"><a href="oauth2client.client.html#OAuth2WebServerFlow">OAuth2WebServerFlow</a>
56</font></dt></dl>
57</dd>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050058<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Storage">Storage</a>
59</font></dt></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -050060</dd>
61<dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>(<a href="exceptions.html#BaseException">exceptions.BaseException</a>)
62</font></dt><dd>
63<dl>
64<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Error">Error</a>
65</font></dt><dd>
66<dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050067<dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenCredentialsError">AccessTokenCredentialsError</a>
Joe Gregoriof8261112011-02-19 14:51:56 -050068</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenRefreshError">AccessTokenRefreshError</a>
69</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#FlowExchangeError">FlowExchangeError</a>
Joe Gregorio6e537032011-02-09 23:04:26 -050070</font></dt></dl>
71</dd>
72</dl>
73</dd>
74</dl>
75 <p>
76<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
77<tr bgcolor="#ffc8d8">
78<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050079<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>
80
81<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -040082<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 -050083&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -040084<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>
85<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>
86with&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>
87use&nbsp;case&nbsp;where&nbsp;you&nbsp;have&nbsp;acquired&nbsp;an&nbsp;OAuth&nbsp;2.0&nbsp;access_token&nbsp;from<br>
88another&nbsp;place&nbsp;such&nbsp;as&nbsp;a&nbsp;JavaScript&nbsp;client&nbsp;or&nbsp;another&nbsp;web<br>
89application,&nbsp;and&nbsp;wish&nbsp;to&nbsp;use&nbsp;it&nbsp;from&nbsp;Python.&nbsp;Because&nbsp;only&nbsp;the<br>
90access_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 -050091expire.<br>
92&nbsp;<br>
Joe Gregoriofffa7d72011-02-18 17:20:39 -050093<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 -050094&nbsp;<br>
95Usage:<br>
96&nbsp;&nbsp;credentials&nbsp;=&nbsp;<a href="#AccessTokenCredentials">AccessTokenCredentials</a>('&lt;an&nbsp;access&nbsp;token&gt;',<br>
97&nbsp;&nbsp;&nbsp;&nbsp;'my-user-agent/1.0')<br>
98&nbsp;&nbsp;http&nbsp;=&nbsp;httplib2.Http()<br>
99&nbsp;&nbsp;http&nbsp;=&nbsp;credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(http)<br>
100&nbsp;<br>
101Exceptions:<br>
102&nbsp;&nbsp;AccessTokenCredentialsExpired:&nbsp;raised&nbsp;when&nbsp;the&nbsp;access_token&nbsp;expires&nbsp;or&nbsp;is<br>
103&nbsp;&nbsp;&nbsp;&nbsp;revoked.<br>&nbsp;</tt></td></tr>
104<tr><td>&nbsp;</td>
105<td width="100%"><dl><dt>Method resolution order:</dt>
106<dd><a href="oauth2client.client.html#AccessTokenCredentials">AccessTokenCredentials</a></dd>
107<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
108<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
109<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
110</dl>
111<hr>
112Methods defined here:<br>
113<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>
114&nbsp;<br>
115This&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>
116<a href="#Credentials">Credentials</a>&nbsp;objects&nbsp;are&nbsp;usually&nbsp;instantiated&nbsp;by&nbsp;a&nbsp;<a href="#Flow">Flow</a>.<br>
117&nbsp;<br>
118Args:<br>
Joe Gregorio93841702011-03-02 16:12:05 -0800119&nbsp;&nbsp;access_token:&nbsp;string,&nbsp;access&nbsp;token.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500120&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
121&nbsp;<br>
122Notes:<br>
123&nbsp;&nbsp;store:&nbsp;callable,&nbsp;a&nbsp;callable&nbsp;that&nbsp;when&nbsp;passed&nbsp;a&nbsp;Credential<br>
124&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>
125
126<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400127Class methods defined here:<br>
128<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>
129
130<hr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500131Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
132<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>
133
134<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>
135
136<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>
137&nbsp;<br>
138Args:<br>
139&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
140&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
141&nbsp;<br>
142Returns:<br>
143&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
144&nbsp;<br>
145Example:<br>
146&nbsp;<br>
147&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
148&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(h)<br>
149&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400150You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
151because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
152signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
153that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
154version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500155
Joe Gregorioa8451672011-09-15 09:53:21 -0400156<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 -0500157&nbsp;<br>
158Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400159&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 -0500160&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 -0400161&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
162&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
163&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
164
165<dl><dt><a name="AccessTokenCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500166
167<hr>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500168Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400169<dl><dt><strong>access_token_expired</strong></dt>
170<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
171&nbsp;<br>
172If&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 -0500173</dl>
174<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400175Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
176<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>
177representation&nbsp;produced&nbsp;by&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
178&nbsp;<br>
179Args:<br>
180&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
181&nbsp;<br>
182Returns:<br>
183&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>
184&nbsp;&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().</tt></dd></dl>
185
186<hr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500187Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
188<dl><dt><strong>__dict__</strong></dt>
189<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
190</dl>
191<dl><dt><strong>__weakref__</strong></dt>
192<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
193</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400194<hr>
195Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
196<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
197
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500198</td></tr></table> <p>
199<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
200<tr bgcolor="#ffc8d8">
201<td colspan=3 valign=bottom>&nbsp;<br>
202<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>
203
204<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
205<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>
206<tr><td>&nbsp;</td>
207<td width="100%"><dl><dt>Method resolution order:</dt>
208<dd><a href="oauth2client.client.html#AccessTokenCredentialsError">AccessTokenCredentialsError</a></dd>
209<dd><a href="oauth2client.client.html#Error">Error</a></dd>
210<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
211<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
212<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
213</dl>
214<hr>
215Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
216<dl><dt><strong>__weakref__</strong></dt>
217<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
218</dl>
219<hr>
220Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio90e7ec22011-07-06 10:09:20 -0400221<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 -0500222
223<hr>
224Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
225<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>
226
227<hr>
228Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
229<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>
230
231<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>
232
233<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>
234
235<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>
236&nbsp;<br>
237Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
238
239<dl><dt><a name="AccessTokenCredentialsError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
240
241<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>
242
243<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>
244
245<dl><dt><a name="AccessTokenCredentialsError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
246
247<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>
248
249<dl><dt><a name="AccessTokenCredentialsError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
250
251<hr>
252Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
253<dl><dt><strong>__dict__</strong></dt>
254</dl>
255<dl><dt><strong>args</strong></dt>
256</dl>
257<dl><dt><strong>message</strong></dt>
258</dl>
259</td></tr></table> <p>
260<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
261<tr bgcolor="#ffc8d8">
262<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500263<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>
264
265<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioad258e22011-02-22 22:53:30 -0500266<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 -0500267<tr><td>&nbsp;</td>
268<td width="100%"><dl><dt>Method resolution order:</dt>
269<dd><a href="oauth2client.client.html#AccessTokenRefreshError">AccessTokenRefreshError</a></dd>
270<dd><a href="oauth2client.client.html#Error">Error</a></dd>
271<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
272<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
273<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
274</dl>
275<hr>
276Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
277<dl><dt><strong>__weakref__</strong></dt>
278<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
279</dl>
280<hr>
281Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio90e7ec22011-07-06 10:09:20 -0400282<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 -0500283
284<hr>
285Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
286<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>
287
288<hr>
289Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
290<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>
291
292<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>
293
294<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>
295
296<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>
297&nbsp;<br>
298Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
299
300<dl><dt><a name="AccessTokenRefreshError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
301
302<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>
303
304<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>
305
306<dl><dt><a name="AccessTokenRefreshError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
307
308<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>
309
310<dl><dt><a name="AccessTokenRefreshError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
311
312<hr>
313Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
314<dl><dt><strong>__dict__</strong></dt>
315</dl>
316<dl><dt><strong>args</strong></dt>
317</dl>
318<dl><dt><strong>message</strong></dt>
319</dl>
320</td></tr></table> <p>
321<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
322<tr bgcolor="#ffc8d8">
323<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400324<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>
325
326<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400327<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 -0400328&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400329This&nbsp;credential&nbsp;does&nbsp;not&nbsp;require&nbsp;a&nbsp;flow&nbsp;to&nbsp;instantiate&nbsp;because&nbsp;it<br>
330represents&nbsp;a&nbsp;two&nbsp;legged&nbsp;flow,&nbsp;and&nbsp;therefore&nbsp;has&nbsp;all&nbsp;of&nbsp;the&nbsp;required<br>
331information&nbsp;to&nbsp;generate&nbsp;and&nbsp;refresh&nbsp;its&nbsp;own&nbsp;access&nbsp;tokens.&nbsp;&nbsp;It&nbsp;must<br>
332be&nbsp;subclassed&nbsp;to&nbsp;generate&nbsp;the&nbsp;appropriate&nbsp;assertion&nbsp;string.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400333&nbsp;<br>
334<a href="#AssertionCredentials">AssertionCredentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
335<tr><td>&nbsp;</td>
336<td width="100%"><dl><dt>Method resolution order:</dt>
337<dd><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a></dd>
338<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
339<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
340<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
341</dl>
342<hr>
343Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400344<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 -0400345&nbsp;<br>
346Args:<br>
347&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>
348&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server<br>
349&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
350&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
351&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>
352
353<hr>
354Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
355<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>
356
357<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>
358
359<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>
360&nbsp;<br>
361Args:<br>
362&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
363&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
364&nbsp;<br>
365Returns:<br>
366&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
367&nbsp;<br>
368Example:<br>
369&nbsp;<br>
370&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
371&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#AssertionCredentials-authorize">authorize</a>(h)<br>
372&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400373You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
374because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
375signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
376that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
377version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400378
Joe Gregorioa8451672011-09-15 09:53:21 -0400379<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 -0400380&nbsp;<br>
381Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400382&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 -0400383&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 -0400384&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
385&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
386&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
387
388<dl><dt><a name="AssertionCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
389
390<hr>
391Class methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
392<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>
393should&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>
394&nbsp;<br>
395Args:<br>
396&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
397&nbsp;<br>
398Returns:<br>
399&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 -0400400
401<hr>
402Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400403<dl><dt><strong>access_token_expired</strong></dt>
404<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
405&nbsp;<br>
406If&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 -0400407</dl>
408<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400409Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
410<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>
411representation&nbsp;produced&nbsp;by&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().<br>
412&nbsp;<br>
413Args:<br>
414&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().<br>
415&nbsp;<br>
416Returns:<br>
417&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>
418&nbsp;&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().</tt></dd></dl>
419
420<hr>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400421Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
422<dl><dt><strong>__dict__</strong></dt>
423<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
424</dl>
425<dl><dt><strong>__weakref__</strong></dt>
426<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
427</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400428<hr>
429Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
430<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
431
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400432</td></tr></table> <p>
433<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
434<tr bgcolor="#ffc8d8">
435<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500436<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>
437
438<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
439<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Credentials">Credentials</a>&nbsp;objects.<br>
440&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400441Subclasses&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>
442an&nbsp;HTTP&nbsp;transport.<br>
443&nbsp;<br>
444Subclasses&nbsp;must&nbsp;also&nbsp;specify&nbsp;a&nbsp;classmethod&nbsp;named&nbsp;'from_json'&nbsp;that&nbsp;takes&nbsp;a&nbsp;JSON<br>
445string&nbsp;as&nbsp;input&nbsp;and&nbsp;returns&nbsp;an&nbsp;instaniated&nbsp;Crentials&nbsp;<a href="__builtin__.html#object">object</a>.<br>&nbsp;</tt></td></tr>
Joe Gregorio6e537032011-02-09 23:04:26 -0500446<tr><td>&nbsp;</td>
447<td width="100%">Methods defined here:<br>
448<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>
449authorizes&nbsp;it&nbsp;for&nbsp;the&nbsp;set&nbsp;of&nbsp;credentials,&nbsp;usually&nbsp;by<br>
450replacing&nbsp;http.request()&nbsp;with&nbsp;a&nbsp;method&nbsp;that&nbsp;adds&nbsp;in<br>
451the&nbsp;appropriate&nbsp;headers&nbsp;and&nbsp;then&nbsp;delegates&nbsp;to&nbsp;the&nbsp;original<br>
452Http.request()&nbsp;method.</tt></dd></dl>
453
Joe Gregorioa8451672011-09-15 09:53:21 -0400454<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>
455&nbsp;<br>
456Returns:<br>
457&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>
458&nbsp;&nbsp;&nbsp;from_json().</tt></dd></dl>
459
460<hr>
461Class methods defined here:<br>
462<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>
463representation&nbsp;produced&nbsp;by&nbsp;<a href="#Credentials-to_json">to_json</a>().<br>
464&nbsp;<br>
465Args:<br>
466&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#Credentials-to_json">to_json</a>().<br>
467&nbsp;<br>
468Returns:<br>
469&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>
470&nbsp;&nbsp;<a href="#Credentials-to_json">to_json</a>().</tt></dd></dl>
471
Joe Gregorio6e537032011-02-09 23:04:26 -0500472<hr>
473Data descriptors defined here:<br>
474<dl><dt><strong>__dict__</strong></dt>
475<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
476</dl>
477<dl><dt><strong>__weakref__</strong></dt>
478<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
479</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400480<hr>
481Data and other attributes defined here:<br>
482<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
483
Joe Gregorio6e537032011-02-09 23:04:26 -0500484</td></tr></table> <p>
485<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
486<tr bgcolor="#ffc8d8">
487<td colspan=3 valign=bottom>&nbsp;<br>
488<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>
489
490<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
491<td colspan=2><tt>Base&nbsp;error&nbsp;for&nbsp;this&nbsp;module.<br>&nbsp;</tt></td></tr>
492<tr><td>&nbsp;</td>
493<td width="100%"><dl><dt>Method resolution order:</dt>
494<dd><a href="oauth2client.client.html#Error">Error</a></dd>
495<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
496<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
497<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
498</dl>
499<hr>
500Data descriptors defined here:<br>
501<dl><dt><strong>__weakref__</strong></dt>
502<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
503</dl>
504<hr>
505Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio90e7ec22011-07-06 10:09:20 -0400506<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 -0500507
508<hr>
509Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
510<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>
511
512<hr>
513Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
514<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>
515
516<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>
517
518<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>
519
520<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>
521&nbsp;<br>
522Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
523
524<dl><dt><a name="Error-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
525
526<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>
527
528<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>
529
530<dl><dt><a name="Error-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
531
532<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>
533
534<dl><dt><a name="Error-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
535
536<hr>
537Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
538<dl><dt><strong>__dict__</strong></dt>
539</dl>
540<dl><dt><strong>args</strong></dt>
541</dl>
542<dl><dt><strong>message</strong></dt>
543</dl>
544</td></tr></table> <p>
545<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
546<tr bgcolor="#ffc8d8">
547<td colspan=3 valign=bottom>&nbsp;<br>
548<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>
549
550<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
551<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Flow">Flow</a>&nbsp;objects.<br>&nbsp;</tt></td></tr>
552<tr><td>&nbsp;</td>
553<td width="100%">Data descriptors defined here:<br>
554<dl><dt><strong>__dict__</strong></dt>
555<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
556</dl>
557<dl><dt><strong>__weakref__</strong></dt>
558<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
559</dl>
560</td></tr></table> <p>
561<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
562<tr bgcolor="#ffc8d8">
563<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500564<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>
565
566<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioad258e22011-02-22 22:53:30 -0500567<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 -0500568<tr><td>&nbsp;</td>
569<td width="100%"><dl><dt>Method resolution order:</dt>
570<dd><a href="oauth2client.client.html#FlowExchangeError">FlowExchangeError</a></dd>
571<dd><a href="oauth2client.client.html#Error">Error</a></dd>
572<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
573<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
574<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
575</dl>
576<hr>
577Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
578<dl><dt><strong>__weakref__</strong></dt>
579<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
580</dl>
581<hr>
582Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio90e7ec22011-07-06 10:09:20 -0400583<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 -0500584
585<hr>
586Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
587<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>
588
589<hr>
590Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
591<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>
592
593<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>
594
595<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>
596
597<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>
598&nbsp;<br>
599Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
600
601<dl><dt><a name="FlowExchangeError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
602
603<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>
604
605<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>
606
607<dl><dt><a name="FlowExchangeError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
608
609<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>
610
611<dl><dt><a name="FlowExchangeError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
612
613<hr>
614Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
615<dl><dt><strong>__dict__</strong></dt>
616</dl>
617<dl><dt><strong>args</strong></dt>
618</dl>
619<dl><dt><strong>message</strong></dt>
620</dl>
621</td></tr></table> <p>
622<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
623<tr bgcolor="#ffc8d8">
624<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500625<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>
626
627<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400628<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 -0500629&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500630<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>
631method,&nbsp;which&nbsp;then&nbsp;signs&nbsp;each&nbsp;request&nbsp;from&nbsp;that&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;the&nbsp;OAuth&nbsp;2.0<br>
632access&nbsp;token.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500633&nbsp;<br>
634<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
635<tr><td>&nbsp;</td>
636<td width="100%"><dl><dt>Method resolution order:</dt>
637<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
638<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
639<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
640</dl>
641<hr>
642Methods defined here:<br>
643<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>
644
Joe Gregorioa8451672011-09-15 09:53:21 -0400645<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)</dt><dd><tt>Create&nbsp;an&nbsp;instance&nbsp;of&nbsp;<a href="#OAuth2Credentials">OAuth2Credentials</a>.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500646&nbsp;<br>
647This&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 -0500648<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 -0500649&nbsp;<br>
650Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400651&nbsp;&nbsp;access_token:&nbsp;string,&nbsp;access&nbsp;token.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500652&nbsp;&nbsp;client_id:&nbsp;string,&nbsp;client&nbsp;identifier.<br>
653&nbsp;&nbsp;client_secret:&nbsp;string,&nbsp;client&nbsp;secret.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500654&nbsp;&nbsp;refresh_token:&nbsp;string,&nbsp;refresh&nbsp;token.<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400655&nbsp;&nbsp;token_expiry:&nbsp;datetime,&nbsp;when&nbsp;the&nbsp;access_token&nbsp;expires.<br>
656&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;of&nbsp;token&nbsp;endpoint.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500657&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
658&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500659Notes:<br>
660&nbsp;&nbsp;store:&nbsp;callable,&nbsp;a&nbsp;callable&nbsp;that&nbsp;when&nbsp;passed&nbsp;a&nbsp;Credential<br>
661&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;store&nbsp;the&nbsp;credential&nbsp;back&nbsp;to&nbsp;where&nbsp;it&nbsp;came&nbsp;from.<br>
662&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>
663&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.</tt></dd></dl>
664
665<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>
666
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500667<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>
668&nbsp;<br>
669Args:<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500670&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
671&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
672&nbsp;<br>
673Returns:<br>
674&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
675&nbsp;<br>
676Example:<br>
677&nbsp;<br>
678&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
679&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#OAuth2Credentials-authorize">authorize</a>(h)<br>
680&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400681You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
682because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
683signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
684that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
685version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500686
Joe Gregorioa8451672011-09-15 09:53:21 -0400687<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 -0500688&nbsp;<br>
689Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400690&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 -0500691&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 -0400692&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
693&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
694&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
695
696<dl><dt><a name="OAuth2Credentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
697
698<hr>
699Class methods defined here:<br>
700<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>
701should&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>
702&nbsp;<br>
703Args:<br>
704&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
705&nbsp;<br>
706Returns:<br>
707&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 -0500708
709<hr>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500710Data descriptors defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400711<dl><dt><strong>access_token_expired</strong></dt>
712<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
713&nbsp;<br>
714If&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 -0500715</dl>
716<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400717Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
718<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>
719representation&nbsp;produced&nbsp;by&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().<br>
720&nbsp;<br>
721Args:<br>
722&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().<br>
723&nbsp;<br>
724Returns:<br>
725&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>
726&nbsp;&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().</tt></dd></dl>
727
728<hr>
Joe Gregorio6e537032011-02-09 23:04:26 -0500729Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
730<dl><dt><strong>__dict__</strong></dt>
731<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
732</dl>
733<dl><dt><strong>__weakref__</strong></dt>
734<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
735</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400736<hr>
737Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
738<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
739
Joe Gregorio6e537032011-02-09 23:04:26 -0500740</td></tr></table> <p>
741<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
742<tr bgcolor="#ffc8d8">
743<td colspan=3 valign=bottom>&nbsp;<br>
744<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>
745
746<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
747<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>
748&nbsp;<br>
749<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
750<tr><td>&nbsp;</td>
751<td width="100%"><dl><dt>Method resolution order:</dt>
752<dd><a href="oauth2client.client.html#OAuth2WebServerFlow">OAuth2WebServerFlow</a></dd>
753<dd><a href="oauth2client.client.html#Flow">Flow</a></dd>
754<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
755</dl>
756<hr>
757Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400758<dl><dt><a name="OAuth2WebServerFlow-__init__"><strong>__init__</strong></a>(self, client_id, client_secret, scope, user_agent, 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 -0500759&nbsp;<br>
760Args:<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500761&nbsp;&nbsp;client_id:&nbsp;string,&nbsp;client&nbsp;identifier.<br>
762&nbsp;&nbsp;client_secret:&nbsp;string&nbsp;client&nbsp;secret.<br>
763&nbsp;&nbsp;scope:&nbsp;string,&nbsp;scope&nbsp;of&nbsp;the&nbsp;credentials&nbsp;being&nbsp;requested.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500764&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 -0500765&nbsp;&nbsp;auth_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;authorization&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
766&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>
767&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
768&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 -0500769&nbsp;&nbsp;**kwargs:&nbsp;dict,&nbsp;The&nbsp;keyword&nbsp;arguments&nbsp;are&nbsp;all&nbsp;optional&nbsp;and&nbsp;required<br>
770&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>
771
772<dl><dt><a name="OAuth2WebServerFlow-step1_get_authorize_url"><strong>step1_get_authorize_url</strong></a>(self, redirect_uri<font color="#909090">='oob'</font>)</dt><dd><tt>Returns&nbsp;a&nbsp;URI&nbsp;to&nbsp;redirect&nbsp;to&nbsp;the&nbsp;provider.<br>
773&nbsp;<br>
774Args:<br>
775&nbsp;&nbsp;redirect_uri:&nbsp;string,&nbsp;Either&nbsp;the&nbsp;string&nbsp;'oob'&nbsp;for&nbsp;a&nbsp;non-web-based<br>
776&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application,&nbsp;or&nbsp;a&nbsp;URI&nbsp;that&nbsp;handles&nbsp;the&nbsp;callback&nbsp;from<br>
777&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;authorization&nbsp;server.<br>
778&nbsp;<br>
779If&nbsp;redirect_uri&nbsp;is&nbsp;'oob'&nbsp;then&nbsp;pass&nbsp;in&nbsp;the<br>
780generated&nbsp;verification&nbsp;code&nbsp;to&nbsp;step2_exchange,<br>
781otherwise&nbsp;pass&nbsp;in&nbsp;the&nbsp;query&nbsp;parameters&nbsp;received<br>
782at&nbsp;the&nbsp;callback&nbsp;uri&nbsp;to&nbsp;step2_exchange.</tt></dd></dl>
783
Joe Gregoriof8261112011-02-19 14:51:56 -0500784<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 -0500785&nbsp;<br>
786Args:<br>
787&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>
788&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 -0500789&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;code.<br>
790&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 -0500791
792<hr>
793Data descriptors inherited from <a href="oauth2client.client.html#Flow">Flow</a>:<br>
794<dl><dt><strong>__dict__</strong></dt>
795<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
796</dl>
797<dl><dt><strong>__weakref__</strong></dt>
798<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
799</dl>
800</td></tr></table> <p>
801<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
802<tr bgcolor="#ffc8d8">
803<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500804<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>
805
806<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
807<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Storage">Storage</a>&nbsp;objects.<br>
808&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400809Store&nbsp;and&nbsp;retrieve&nbsp;a&nbsp;single&nbsp;credential.&nbsp;&nbsp;This&nbsp;class&nbsp;supports&nbsp;locking<br>
810such&nbsp;that&nbsp;multiple&nbsp;processes&nbsp;and&nbsp;threads&nbsp;can&nbsp;operate&nbsp;on&nbsp;a&nbsp;single<br>
811store.<br>&nbsp;</tt></td></tr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500812<tr><td>&nbsp;</td>
813<td width="100%">Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400814<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>
815&nbsp;<br>
816This&nbsp;lock&nbsp;is&nbsp;not&nbsp;reentrant.</tt></dd></dl>
817
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500818<dl><dt><a name="Storage-get"><strong>get</strong></a>(self)</dt><dd><tt>Retrieve&nbsp;credential.<br>
819&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400820The&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>
821&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500822Returns:<br>
Joe Gregorio20a5aa92011-04-01 17:44:25 -0400823&nbsp;&nbsp;oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500824
Joe Gregorioa8451672011-09-15 09:53:21 -0400825<dl><dt><a name="Storage-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve&nbsp;credential.<br>
826&nbsp;<br>
827The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
828&nbsp;<br>
829Returns:<br>
830&nbsp;&nbsp;oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
831
832<dl><dt><a name="Storage-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write&nbsp;a&nbsp;credential.<br>
833&nbsp;<br>
834The&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 -0500835&nbsp;<br>
836Args:<br>
837&nbsp;&nbsp;credentials:&nbsp;<a href="#Credentials">Credentials</a>,&nbsp;the&nbsp;credentials&nbsp;to&nbsp;store.</tt></dd></dl>
838
Joe Gregorioa8451672011-09-15 09:53:21 -0400839<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write&nbsp;a&nbsp;credential.<br>
840&nbsp;<br>
841The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
842&nbsp;<br>
843Args:<br>
844&nbsp;&nbsp;credentials:&nbsp;<a href="#Credentials">Credentials</a>,&nbsp;the&nbsp;credentials&nbsp;to&nbsp;store.</tt></dd></dl>
845
846<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>
847&nbsp;<br>
848Trying&nbsp;to&nbsp;release&nbsp;a&nbsp;lock&nbsp;that&nbsp;isn't&nbsp;held&nbsp;will&nbsp;result&nbsp;in&nbsp;a<br>
849RuntimeError.</tt></dd></dl>
850
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500851<hr>
852Data descriptors defined here:<br>
853<dl><dt><strong>__dict__</strong></dt>
854<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
855</dl>
856<dl><dt><strong>__weakref__</strong></dt>
857<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
858</dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500859</td></tr></table></td></tr></table><p>
860<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
861<tr bgcolor="#55aa55">
862<td colspan=3 valign=bottom>&nbsp;<br>
863<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
864
865<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400866<td width="100%"><strong>EXPIRY_FORMAT</strong> = '%Y-%m-%dT%H:%M:%S.%fZ'<br>
867<strong>__author__</strong> = 'jcgregorio@google.com (Joe Gregorio)'<br>
868<strong>logger</strong> = &lt;logging.Logger instance&gt;</td></tr></table><p>
Joe Gregorio6e537032011-02-09 23:04:26 -0500869<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
870<tr bgcolor="#7799ee">
871<td colspan=3 valign=bottom>&nbsp;<br>
872<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
873
874<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
875<td width="100%">jcgregorio@google.com&nbsp;(Joe&nbsp;Gregorio)</td></tr></table>
876</body></html>