blob: e8a515298834902cef327e78ed86081af4197dc4 [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 Gregorio761c4562011-10-28 14:36:24 -040011><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient-release/oauth2client/client.py">/usr/local/google/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 Gregorio761c4562011-10-28 14:36:24 -040022<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="oauth2client.clientsecrets.html">oauth2client.clientsecrets</a><br>
23<a href="copy.html">copy</a><br>
Joe Gregorio6e537032011-02-09 23:04:26 -050024<a href="datetime.html">datetime</a><br>
25</td><td width="25%" valign=top><a href="httplib2.html">httplib2</a><br>
26<a href="logging.html">logging</a><br>
Joe Gregorio761c4562011-10-28 14:36:24 -040027<a href="simplejson.html">simplejson</a><br>
28</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
Joe Gregorio6e537032011-02-09 23:04:26 -050029<a href="urllib.html">urllib</a><br>
Joe Gregorio761c4562011-10-28 14:36:24 -040030<a href="urlparse.html">urlparse</a><br>
31</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
Joe Gregorio6e537032011-02-09 23:04:26 -050032<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
33<tr bgcolor="#ee77aa">
34<td colspan=3 valign=bottom>&nbsp;<br>
35<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
36
37<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
38<td width="100%"><dl>
39<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
40</font></dt><dd>
41<dl>
42<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Credentials">Credentials</a>
43</font></dt><dd>
44<dl>
45<dt><font face="helvetica, arial"><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050046</font></dt><dd>
47<dl>
48<dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenCredentials">AccessTokenCredentials</a>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -040049</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a>
Joe Gregorio6e537032011-02-09 23:04:26 -050050</font></dt></dl>
51</dd>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050052</dl>
53</dd>
Joe Gregorio6e537032011-02-09 23:04:26 -050054<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Flow">Flow</a>
55</font></dt><dd>
56<dl>
57<dt><font face="helvetica, arial"><a href="oauth2client.client.html#OAuth2WebServerFlow">OAuth2WebServerFlow</a>
58</font></dt></dl>
59</dd>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050060<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Storage">Storage</a>
61</font></dt></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -050062</dd>
63<dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>(<a href="exceptions.html#BaseException">exceptions.BaseException</a>)
64</font></dt><dd>
65<dl>
66<dt><font face="helvetica, arial"><a href="oauth2client.client.html#Error">Error</a>
67</font></dt><dd>
68<dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050069<dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenCredentialsError">AccessTokenCredentialsError</a>
Joe Gregoriof8261112011-02-19 14:51:56 -050070</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#AccessTokenRefreshError">AccessTokenRefreshError</a>
71</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#FlowExchangeError">FlowExchangeError</a>
Joe Gregorio761c4562011-10-28 14:36:24 -040072</font></dt><dt><font face="helvetica, arial"><a href="oauth2client.client.html#UnknownClientSecretsFlowError">UnknownClientSecretsFlowError</a>
Joe Gregorio6e537032011-02-09 23:04:26 -050073</font></dt></dl>
74</dd>
75</dl>
76</dd>
77</dl>
78 <p>
79<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
80<tr bgcolor="#ffc8d8">
81<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -050082<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>
83
84<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -040085<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 -050086&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -040087<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>
88<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>
89with&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>
90use&nbsp;case&nbsp;where&nbsp;you&nbsp;have&nbsp;acquired&nbsp;an&nbsp;OAuth&nbsp;2.0&nbsp;access_token&nbsp;from<br>
91another&nbsp;place&nbsp;such&nbsp;as&nbsp;a&nbsp;JavaScript&nbsp;client&nbsp;or&nbsp;another&nbsp;web<br>
92application,&nbsp;and&nbsp;wish&nbsp;to&nbsp;use&nbsp;it&nbsp;from&nbsp;Python.&nbsp;Because&nbsp;only&nbsp;the<br>
93access_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 -050094expire.<br>
95&nbsp;<br>
Joe Gregoriofffa7d72011-02-18 17:20:39 -050096<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 -050097&nbsp;<br>
98Usage:<br>
99&nbsp;&nbsp;credentials&nbsp;=&nbsp;<a href="#AccessTokenCredentials">AccessTokenCredentials</a>('&lt;an&nbsp;access&nbsp;token&gt;',<br>
100&nbsp;&nbsp;&nbsp;&nbsp;'my-user-agent/1.0')<br>
101&nbsp;&nbsp;http&nbsp;=&nbsp;httplib2.Http()<br>
102&nbsp;&nbsp;http&nbsp;=&nbsp;credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(http)<br>
103&nbsp;<br>
104Exceptions:<br>
105&nbsp;&nbsp;AccessTokenCredentialsExpired:&nbsp;raised&nbsp;when&nbsp;the&nbsp;access_token&nbsp;expires&nbsp;or&nbsp;is<br>
106&nbsp;&nbsp;&nbsp;&nbsp;revoked.<br>&nbsp;</tt></td></tr>
107<tr><td>&nbsp;</td>
108<td width="100%"><dl><dt>Method resolution order:</dt>
109<dd><a href="oauth2client.client.html#AccessTokenCredentials">AccessTokenCredentials</a></dd>
110<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
111<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
112<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
113</dl>
114<hr>
115Methods defined here:<br>
116<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>
117&nbsp;<br>
118This&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>
119<a href="#Credentials">Credentials</a>&nbsp;objects&nbsp;are&nbsp;usually&nbsp;instantiated&nbsp;by&nbsp;a&nbsp;<a href="#Flow">Flow</a>.<br>
120&nbsp;<br>
121Args:<br>
Joe Gregorio93841702011-03-02 16:12:05 -0800122&nbsp;&nbsp;access_token:&nbsp;string,&nbsp;access&nbsp;token.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500123&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
124&nbsp;<br>
125Notes:<br>
126&nbsp;&nbsp;store:&nbsp;callable,&nbsp;a&nbsp;callable&nbsp;that&nbsp;when&nbsp;passed&nbsp;a&nbsp;Credential<br>
127&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>
128
129<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400130Class methods defined here:<br>
131<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>
132
133<hr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500134Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
135<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>
136
137<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>
138
139<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>
140&nbsp;<br>
141Args:<br>
142&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
143&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
144&nbsp;<br>
145Returns:<br>
146&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
147&nbsp;<br>
148Example:<br>
149&nbsp;<br>
150&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
151&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(h)<br>
152&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400153You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
154because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
155signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
156that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
157version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500158
Joe Gregorioa8451672011-09-15 09:53:21 -0400159<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 -0500160&nbsp;<br>
161Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400162&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 -0500163&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 -0400164&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
165&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
166&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
167
168<dl><dt><a name="AccessTokenCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500169
170<hr>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500171Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400172<dl><dt><strong>access_token_expired</strong></dt>
173<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
174&nbsp;<br>
175If&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 -0500176</dl>
177<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400178Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
179<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>
180representation&nbsp;produced&nbsp;by&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
181&nbsp;<br>
182Args:<br>
183&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
184&nbsp;<br>
185Returns:<br>
186&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>
187&nbsp;&nbsp;<a href="#AccessTokenCredentials-to_json">to_json</a>().</tt></dd></dl>
188
189<hr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500190Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
191<dl><dt><strong>__dict__</strong></dt>
192<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
193</dl>
194<dl><dt><strong>__weakref__</strong></dt>
195<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
196</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400197<hr>
198Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
199<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
200
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500201</td></tr></table> <p>
202<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
203<tr bgcolor="#ffc8d8">
204<td colspan=3 valign=bottom>&nbsp;<br>
205<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>
206
207<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
208<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>
209<tr><td>&nbsp;</td>
210<td width="100%"><dl><dt>Method resolution order:</dt>
211<dd><a href="oauth2client.client.html#AccessTokenCredentialsError">AccessTokenCredentialsError</a></dd>
212<dd><a href="oauth2client.client.html#Error">Error</a></dd>
213<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
214<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
215<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
216</dl>
217<hr>
218Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
219<dl><dt><strong>__weakref__</strong></dt>
220<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
221</dl>
222<hr>
223Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400224<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;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500225
226<hr>
227Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
228<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>
229
230<hr>
231Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
232<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>
233
234<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>
235
236<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>
237
238<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>
239&nbsp;<br>
240Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
241
242<dl><dt><a name="AccessTokenCredentialsError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
243
244<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>
245
246<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>
247
248<dl><dt><a name="AccessTokenCredentialsError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
249
250<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>
251
252<dl><dt><a name="AccessTokenCredentialsError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
253
254<hr>
255Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
256<dl><dt><strong>__dict__</strong></dt>
257</dl>
258<dl><dt><strong>args</strong></dt>
259</dl>
260<dl><dt><strong>message</strong></dt>
261</dl>
262</td></tr></table> <p>
263<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
264<tr bgcolor="#ffc8d8">
265<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500266<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>
267
268<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioad258e22011-02-22 22:53:30 -0500269<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 -0500270<tr><td>&nbsp;</td>
271<td width="100%"><dl><dt>Method resolution order:</dt>
272<dd><a href="oauth2client.client.html#AccessTokenRefreshError">AccessTokenRefreshError</a></dd>
273<dd><a href="oauth2client.client.html#Error">Error</a></dd>
274<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
275<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
276<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
277</dl>
278<hr>
279Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
280<dl><dt><strong>__weakref__</strong></dt>
281<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
282</dl>
283<hr>
284Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400285<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;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregoriof8261112011-02-19 14:51:56 -0500286
287<hr>
288Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
289<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>
290
291<hr>
292Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
293<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>
294
295<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>
296
297<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>
298
299<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>
300&nbsp;<br>
301Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
302
303<dl><dt><a name="AccessTokenRefreshError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
304
305<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>
306
307<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>
308
309<dl><dt><a name="AccessTokenRefreshError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
310
311<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>
312
313<dl><dt><a name="AccessTokenRefreshError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
314
315<hr>
316Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
317<dl><dt><strong>__dict__</strong></dt>
318</dl>
319<dl><dt><strong>args</strong></dt>
320</dl>
321<dl><dt><strong>message</strong></dt>
322</dl>
323</td></tr></table> <p>
324<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
325<tr bgcolor="#ffc8d8">
326<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400327<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>
328
329<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400330<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 -0400331&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400332This&nbsp;credential&nbsp;does&nbsp;not&nbsp;require&nbsp;a&nbsp;flow&nbsp;to&nbsp;instantiate&nbsp;because&nbsp;it<br>
333represents&nbsp;a&nbsp;two&nbsp;legged&nbsp;flow,&nbsp;and&nbsp;therefore&nbsp;has&nbsp;all&nbsp;of&nbsp;the&nbsp;required<br>
334information&nbsp;to&nbsp;generate&nbsp;and&nbsp;refresh&nbsp;its&nbsp;own&nbsp;access&nbsp;tokens.&nbsp;&nbsp;It&nbsp;must<br>
335be&nbsp;subclassed&nbsp;to&nbsp;generate&nbsp;the&nbsp;appropriate&nbsp;assertion&nbsp;string.<br>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400336&nbsp;<br>
337<a href="#AssertionCredentials">AssertionCredentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
338<tr><td>&nbsp;</td>
339<td width="100%"><dl><dt>Method resolution order:</dt>
340<dd><a href="oauth2client.client.html#AssertionCredentials">AssertionCredentials</a></dd>
341<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
342<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
343<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
344</dl>
345<hr>
346Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400347<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 -0400348&nbsp;<br>
349Args:<br>
350&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>
351&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server<br>
352&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
353&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
354&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>
355
356<hr>
357Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
358<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>
359
360<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>
361
362<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>
363&nbsp;<br>
364Args:<br>
365&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
366&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
367&nbsp;<br>
368Returns:<br>
369&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
370&nbsp;<br>
371Example:<br>
372&nbsp;<br>
373&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
374&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#AssertionCredentials-authorize">authorize</a>(h)<br>
375&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400376You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
377because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
378signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
379that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
380version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400381
Joe Gregorioa8451672011-09-15 09:53:21 -0400382<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 -0400383&nbsp;<br>
384Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400385&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 -0400386&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 -0400387&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
388&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
389&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
390
391<dl><dt><a name="AssertionCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
392
393<hr>
394Class methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
395<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>
396should&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>
397&nbsp;<br>
398Args:<br>
399&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
400&nbsp;<br>
401Returns:<br>
402&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 -0400403
404<hr>
405Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400406<dl><dt><strong>access_token_expired</strong></dt>
407<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
408&nbsp;<br>
409If&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 -0400410</dl>
411<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400412Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
413<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>
414representation&nbsp;produced&nbsp;by&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().<br>
415&nbsp;<br>
416Args:<br>
417&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().<br>
418&nbsp;<br>
419Returns:<br>
420&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>
421&nbsp;&nbsp;<a href="#AssertionCredentials-to_json">to_json</a>().</tt></dd></dl>
422
423<hr>
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400424Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
425<dl><dt><strong>__dict__</strong></dt>
426<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
427</dl>
428<dl><dt><strong>__weakref__</strong></dt>
429<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
430</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400431<hr>
432Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
433<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
434
Joe Gregoriob9e63ff2011-06-30 12:38:10 -0400435</td></tr></table> <p>
436<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
437<tr bgcolor="#ffc8d8">
438<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500439<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>
440
441<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
442<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Credentials">Credentials</a>&nbsp;objects.<br>
443&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400444Subclasses&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>
445an&nbsp;HTTP&nbsp;transport.<br>
446&nbsp;<br>
447Subclasses&nbsp;must&nbsp;also&nbsp;specify&nbsp;a&nbsp;classmethod&nbsp;named&nbsp;'from_json'&nbsp;that&nbsp;takes&nbsp;a&nbsp;JSON<br>
448string&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 -0500449<tr><td>&nbsp;</td>
450<td width="100%">Methods defined here:<br>
451<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>
452authorizes&nbsp;it&nbsp;for&nbsp;the&nbsp;set&nbsp;of&nbsp;credentials,&nbsp;usually&nbsp;by<br>
453replacing&nbsp;http.request()&nbsp;with&nbsp;a&nbsp;method&nbsp;that&nbsp;adds&nbsp;in<br>
454the&nbsp;appropriate&nbsp;headers&nbsp;and&nbsp;then&nbsp;delegates&nbsp;to&nbsp;the&nbsp;original<br>
455Http.request()&nbsp;method.</tt></dd></dl>
456
Joe Gregorioa8451672011-09-15 09:53:21 -0400457<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>
458&nbsp;<br>
459Returns:<br>
460&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>
461&nbsp;&nbsp;&nbsp;from_json().</tt></dd></dl>
462
463<hr>
464Class methods defined here:<br>
465<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>
466representation&nbsp;produced&nbsp;by&nbsp;<a href="#Credentials-to_json">to_json</a>().<br>
467&nbsp;<br>
468Args:<br>
469&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#Credentials-to_json">to_json</a>().<br>
470&nbsp;<br>
471Returns:<br>
472&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>
473&nbsp;&nbsp;<a href="#Credentials-to_json">to_json</a>().</tt></dd></dl>
474
Joe Gregorio6e537032011-02-09 23:04:26 -0500475<hr>
476Data descriptors defined here:<br>
477<dl><dt><strong>__dict__</strong></dt>
478<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
479</dl>
480<dl><dt><strong>__weakref__</strong></dt>
481<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
482</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400483<hr>
484Data and other attributes defined here:<br>
485<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
486
Joe Gregorio6e537032011-02-09 23:04:26 -0500487</td></tr></table> <p>
488<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
489<tr bgcolor="#ffc8d8">
490<td colspan=3 valign=bottom>&nbsp;<br>
491<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>
492
493<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
494<td colspan=2><tt>Base&nbsp;error&nbsp;for&nbsp;this&nbsp;module.<br>&nbsp;</tt></td></tr>
495<tr><td>&nbsp;</td>
496<td width="100%"><dl><dt>Method resolution order:</dt>
497<dd><a href="oauth2client.client.html#Error">Error</a></dd>
498<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
499<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
500<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
501</dl>
502<hr>
503Data descriptors defined here:<br>
504<dl><dt><strong>__weakref__</strong></dt>
505<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
506</dl>
507<hr>
508Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400509<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;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500510
511<hr>
512Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
513<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>
514
515<hr>
516Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
517<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>
518
519<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>
520
521<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>
522
523<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>
524&nbsp;<br>
525Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
526
527<dl><dt><a name="Error-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
528
529<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>
530
531<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>
532
533<dl><dt><a name="Error-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
534
535<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>
536
537<dl><dt><a name="Error-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
538
539<hr>
540Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
541<dl><dt><strong>__dict__</strong></dt>
542</dl>
543<dl><dt><strong>args</strong></dt>
544</dl>
545<dl><dt><strong>message</strong></dt>
546</dl>
547</td></tr></table> <p>
548<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
549<tr bgcolor="#ffc8d8">
550<td colspan=3 valign=bottom>&nbsp;<br>
551<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>
552
553<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
554<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Flow">Flow</a>&nbsp;objects.<br>&nbsp;</tt></td></tr>
555<tr><td>&nbsp;</td>
556<td width="100%">Data descriptors defined here:<br>
557<dl><dt><strong>__dict__</strong></dt>
558<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
559</dl>
560<dl><dt><strong>__weakref__</strong></dt>
561<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
562</dl>
563</td></tr></table> <p>
564<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
565<tr bgcolor="#ffc8d8">
566<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriof8261112011-02-19 14:51:56 -0500567<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>
568
569<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioad258e22011-02-22 22:53:30 -0500570<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 -0500571<tr><td>&nbsp;</td>
572<td width="100%"><dl><dt>Method resolution order:</dt>
573<dd><a href="oauth2client.client.html#FlowExchangeError">FlowExchangeError</a></dd>
574<dd><a href="oauth2client.client.html#Error">Error</a></dd>
575<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
576<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
577<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
578</dl>
579<hr>
580Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
581<dl><dt><strong>__weakref__</strong></dt>
582<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
583</dl>
584<hr>
585Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400586<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;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
Joe Gregoriof8261112011-02-19 14:51:56 -0500587
588<hr>
589Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
590<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>
591
592<hr>
593Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
594<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>
595
596<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>
597
598<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>
599
600<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>
601&nbsp;<br>
602Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
603
604<dl><dt><a name="FlowExchangeError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
605
606<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>
607
608<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>
609
610<dl><dt><a name="FlowExchangeError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
611
612<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>
613
614<dl><dt><a name="FlowExchangeError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
615
616<hr>
617Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
618<dl><dt><strong>__dict__</strong></dt>
619</dl>
620<dl><dt><strong>args</strong></dt>
621</dl>
622<dl><dt><strong>message</strong></dt>
623</dl>
624</td></tr></table> <p>
625<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
626<tr bgcolor="#ffc8d8">
627<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500628<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>
629
630<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioa8451672011-09-15 09:53:21 -0400631<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 -0500632&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500633<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>
634method,&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>
635access&nbsp;token.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500636&nbsp;<br>
637<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
638<tr><td>&nbsp;</td>
639<td width="100%"><dl><dt>Method resolution order:</dt>
640<dd><a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a></dd>
641<dd><a href="oauth2client.client.html#Credentials">Credentials</a></dd>
642<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
643</dl>
644<hr>
645Methods defined here:<br>
646<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>
647
Joe Gregorioa8451672011-09-15 09:53:21 -0400648<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 -0500649&nbsp;<br>
650This&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 -0500651<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 -0500652&nbsp;<br>
653Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400654&nbsp;&nbsp;access_token:&nbsp;string,&nbsp;access&nbsp;token.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500655&nbsp;&nbsp;client_id:&nbsp;string,&nbsp;client&nbsp;identifier.<br>
656&nbsp;&nbsp;client_secret:&nbsp;string,&nbsp;client&nbsp;secret.<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500657&nbsp;&nbsp;refresh_token:&nbsp;string,&nbsp;refresh&nbsp;token.<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400658&nbsp;&nbsp;token_expiry:&nbsp;datetime,&nbsp;when&nbsp;the&nbsp;access_token&nbsp;expires.<br>
659&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;of&nbsp;token&nbsp;endpoint.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500660&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;The&nbsp;HTTP&nbsp;User-Agent&nbsp;to&nbsp;provide&nbsp;for&nbsp;this&nbsp;application.<br>
661&nbsp;<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500662Notes:<br>
663&nbsp;&nbsp;store:&nbsp;callable,&nbsp;a&nbsp;callable&nbsp;that&nbsp;when&nbsp;passed&nbsp;a&nbsp;Credential<br>
664&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;store&nbsp;the&nbsp;credential&nbsp;back&nbsp;to&nbsp;where&nbsp;it&nbsp;came&nbsp;from.<br>
665&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>
666&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.</tt></dd></dl>
667
668<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>
669
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500670<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>
671&nbsp;<br>
672Args:<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500673&nbsp;&nbsp;&nbsp;http:&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
674&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
675&nbsp;<br>
676Returns:<br>
677&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
678&nbsp;<br>
679Example:<br>
680&nbsp;<br>
681&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
682&nbsp;&nbsp;h&nbsp;=&nbsp;credentials.<a href="#OAuth2Credentials-authorize">authorize</a>(h)<br>
683&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400684You&nbsp;can't&nbsp;create&nbsp;a&nbsp;new&nbsp;OAuth&nbsp;subclass&nbsp;of&nbsp;httplib2.Authenication<br>
685because&nbsp;it&nbsp;never&nbsp;gets&nbsp;passed&nbsp;the&nbsp;absolute&nbsp;URI,&nbsp;which&nbsp;is&nbsp;needed&nbsp;for<br>
686signing.&nbsp;So&nbsp;instead&nbsp;we&nbsp;have&nbsp;to&nbsp;overload&nbsp;'request'&nbsp;with&nbsp;a&nbsp;closure<br>
687that&nbsp;adds&nbsp;in&nbsp;the&nbsp;Authorization&nbsp;header&nbsp;and&nbsp;then&nbsp;calls&nbsp;the&nbsp;original<br>
688version&nbsp;of&nbsp;'request()'.</tt></dd></dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500689
Joe Gregorioa8451672011-09-15 09:53:21 -0400690<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 -0500691&nbsp;<br>
692Args:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400693&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 -0500694&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 -0400695&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;expired&nbsp;and&nbsp;been&nbsp;refreshed.&nbsp;&nbsp;This&nbsp;implementation&nbsp;uses<br>
696&nbsp;&nbsp;&nbsp;&nbsp;locking&nbsp;to&nbsp;check&nbsp;for&nbsp;updates&nbsp;before&nbsp;updating&nbsp;the<br>
697&nbsp;&nbsp;&nbsp;&nbsp;access_token.</tt></dd></dl>
698
699<dl><dt><a name="OAuth2Credentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
700
701<hr>
702Class methods defined here:<br>
703<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>
704should&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>
705&nbsp;<br>
706Args:<br>
707&nbsp;&nbsp;data:&nbsp;dict,&nbsp;A&nbsp;deserialized&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.<br>
708&nbsp;<br>
709Returns:<br>
710&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 -0500711
712<hr>
Joe Gregorio9ce4b622011-02-17 15:32:11 -0500713Data descriptors defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400714<dl><dt><strong>access_token_expired</strong></dt>
715<dd><tt>True&nbsp;if&nbsp;the&nbsp;credential&nbsp;is&nbsp;expired&nbsp;or&nbsp;invalid.<br>
716&nbsp;<br>
717If&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 -0500718</dl>
719<hr>
Joe Gregorioa8451672011-09-15 09:53:21 -0400720Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
721<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>
722representation&nbsp;produced&nbsp;by&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().<br>
723&nbsp;<br>
724Args:<br>
725&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().<br>
726&nbsp;<br>
727Returns:<br>
728&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>
729&nbsp;&nbsp;<a href="#OAuth2Credentials-to_json">to_json</a>().</tt></dd></dl>
730
731<hr>
Joe Gregorio6e537032011-02-09 23:04:26 -0500732Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
733<dl><dt><strong>__dict__</strong></dt>
734<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
735</dl>
736<dl><dt><strong>__weakref__</strong></dt>
737<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
738</dl>
Joe Gregorioa8451672011-09-15 09:53:21 -0400739<hr>
740Data and other attributes inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
741<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
742
Joe Gregorio6e537032011-02-09 23:04:26 -0500743</td></tr></table> <p>
744<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
745<tr bgcolor="#ffc8d8">
746<td colspan=3 valign=bottom>&nbsp;<br>
747<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>
748
749<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
750<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>
751&nbsp;<br>
752<a href="#OAuth2Credentials">OAuth2Credentials</a>&nbsp;objects&nbsp;may&nbsp;be&nbsp;safely&nbsp;pickled&nbsp;and&nbsp;unpickled.<br>&nbsp;</tt></td></tr>
753<tr><td>&nbsp;</td>
754<td width="100%"><dl><dt>Method resolution order:</dt>
755<dd><a href="oauth2client.client.html#OAuth2WebServerFlow">OAuth2WebServerFlow</a></dd>
756<dd><a href="oauth2client.client.html#Flow">Flow</a></dd>
757<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
758</dl>
759<hr>
760Methods defined here:<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400761<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 -0500762&nbsp;<br>
763Args:<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500764&nbsp;&nbsp;client_id:&nbsp;string,&nbsp;client&nbsp;identifier.<br>
765&nbsp;&nbsp;client_secret:&nbsp;string&nbsp;client&nbsp;secret.<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400766&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>
767&nbsp;&nbsp;&nbsp;&nbsp;requested.<br>
Joe Gregorio6e537032011-02-09 23:04:26 -0500768&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 -0500769&nbsp;&nbsp;auth_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;authorization&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
770&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>
771&nbsp;&nbsp;token_uri:&nbsp;string,&nbsp;URI&nbsp;for&nbsp;token&nbsp;endpoint.&nbsp;For&nbsp;convenience<br>
772&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 -0500773&nbsp;&nbsp;**kwargs:&nbsp;dict,&nbsp;The&nbsp;keyword&nbsp;arguments&nbsp;are&nbsp;all&nbsp;optional&nbsp;and&nbsp;required<br>
774&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>
775
776<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>
777&nbsp;<br>
778Args:<br>
779&nbsp;&nbsp;redirect_uri:&nbsp;string,&nbsp;Either&nbsp;the&nbsp;string&nbsp;'oob'&nbsp;for&nbsp;a&nbsp;non-web-based<br>
780&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>
781&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;authorization&nbsp;server.<br>
782&nbsp;<br>
783If&nbsp;redirect_uri&nbsp;is&nbsp;'oob'&nbsp;then&nbsp;pass&nbsp;in&nbsp;the<br>
784generated&nbsp;verification&nbsp;code&nbsp;to&nbsp;step2_exchange,<br>
785otherwise&nbsp;pass&nbsp;in&nbsp;the&nbsp;query&nbsp;parameters&nbsp;received<br>
786at&nbsp;the&nbsp;callback&nbsp;uri&nbsp;to&nbsp;step2_exchange.</tt></dd></dl>
787
Joe Gregoriof8261112011-02-19 14:51:56 -0500788<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 -0500789&nbsp;<br>
790Args:<br>
791&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>
792&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 -0500793&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;code.<br>
794&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 -0500795
796<hr>
797Data descriptors inherited from <a href="oauth2client.client.html#Flow">Flow</a>:<br>
798<dl><dt><strong>__dict__</strong></dt>
799<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
800</dl>
801<dl><dt><strong>__weakref__</strong></dt>
802<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
803</dl>
804</td></tr></table> <p>
805<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
806<tr bgcolor="#ffc8d8">
807<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500808<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>
809
810<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
811<td colspan=2><tt>Base&nbsp;class&nbsp;for&nbsp;all&nbsp;<a href="#Storage">Storage</a>&nbsp;objects.<br>
812&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400813Store&nbsp;and&nbsp;retrieve&nbsp;a&nbsp;single&nbsp;credential.&nbsp;&nbsp;This&nbsp;class&nbsp;supports&nbsp;locking<br>
814such&nbsp;that&nbsp;multiple&nbsp;processes&nbsp;and&nbsp;threads&nbsp;can&nbsp;operate&nbsp;on&nbsp;a&nbsp;single<br>
815store.<br>&nbsp;</tt></td></tr>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500816<tr><td>&nbsp;</td>
817<td width="100%">Methods defined here:<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400818<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>
819&nbsp;<br>
820This&nbsp;lock&nbsp;is&nbsp;not&nbsp;reentrant.</tt></dd></dl>
821
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500822<dl><dt><a name="Storage-get"><strong>get</strong></a>(self)</dt><dd><tt>Retrieve&nbsp;credential.<br>
823&nbsp;<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400824The&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>
825&nbsp;<br>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500826Returns:<br>
Joe Gregorio20a5aa92011-04-01 17:44:25 -0400827&nbsp;&nbsp;oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500828
Joe Gregorioa8451672011-09-15 09:53:21 -0400829<dl><dt><a name="Storage-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve&nbsp;credential.<br>
830&nbsp;<br>
831The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
832&nbsp;<br>
833Returns:<br>
834&nbsp;&nbsp;oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
835
836<dl><dt><a name="Storage-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write&nbsp;a&nbsp;credential.<br>
837&nbsp;<br>
838The&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 -0500839&nbsp;<br>
840Args:<br>
841&nbsp;&nbsp;credentials:&nbsp;<a href="#Credentials">Credentials</a>,&nbsp;the&nbsp;credentials&nbsp;to&nbsp;store.</tt></dd></dl>
842
Joe Gregorioa8451672011-09-15 09:53:21 -0400843<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write&nbsp;a&nbsp;credential.<br>
844&nbsp;<br>
845The&nbsp;<a href="#Storage">Storage</a>&nbsp;lock&nbsp;must&nbsp;be&nbsp;held&nbsp;when&nbsp;this&nbsp;is&nbsp;called.<br>
846&nbsp;<br>
847Args:<br>
848&nbsp;&nbsp;credentials:&nbsp;<a href="#Credentials">Credentials</a>,&nbsp;the&nbsp;credentials&nbsp;to&nbsp;store.</tt></dd></dl>
849
850<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>
851&nbsp;<br>
852Trying&nbsp;to&nbsp;release&nbsp;a&nbsp;lock&nbsp;that&nbsp;isn't&nbsp;held&nbsp;will&nbsp;result&nbsp;in&nbsp;a<br>
853RuntimeError.</tt></dd></dl>
854
Joe Gregorio3b79fa82011-02-17 11:47:17 -0500855<hr>
856Data descriptors defined here:<br>
857<dl><dt><strong>__dict__</strong></dt>
858<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
859</dl>
860<dl><dt><strong>__weakref__</strong></dt>
861<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
862</dl>
Joe Gregorio761c4562011-10-28 14:36:24 -0400863</td></tr></table> <p>
864<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
865<tr bgcolor="#ffc8d8">
866<td colspan=3 valign=bottom>&nbsp;<br>
867<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>
868
869<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
870<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>
871<tr><td>&nbsp;</td>
872<td width="100%"><dl><dt>Method resolution order:</dt>
873<dd><a href="oauth2client.client.html#UnknownClientSecretsFlowError">UnknownClientSecretsFlowError</a></dd>
874<dd><a href="oauth2client.client.html#Error">Error</a></dd>
875<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
876<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
877<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
878</dl>
879<hr>
880Data descriptors inherited from <a href="oauth2client.client.html#Error">Error</a>:<br>
881<dl><dt><strong>__weakref__</strong></dt>
882<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
883</dl>
884<hr>
885Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
886<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;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
887
888<hr>
889Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
890<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>
891
892<hr>
893Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
894<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>
895
896<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>
897
898<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>
899
900<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>
901&nbsp;<br>
902Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
903
904<dl><dt><a name="UnknownClientSecretsFlowError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
905
906<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>
907
908<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>
909
910<dl><dt><a name="UnknownClientSecretsFlowError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
911
912<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>
913
914<dl><dt><a name="UnknownClientSecretsFlowError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
915
916<hr>
917Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
918<dl><dt><strong>__dict__</strong></dt>
919</dl>
920<dl><dt><strong>args</strong></dt>
921</dl>
922<dl><dt><strong>message</strong></dt>
923</dl>
Joe Gregorio6e537032011-02-09 23:04:26 -0500924</td></tr></table></td></tr></table><p>
925<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio761c4562011-10-28 14:36:24 -0400926<tr bgcolor="#eeaa77">
927<td colspan=3 valign=bottom>&nbsp;<br>
928<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
929
930<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
931<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>
932&nbsp;<br>
933Will&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>
934file&nbsp;or&nbsp;will&nbsp;raise&nbsp;InvalidClientSecretsError&nbsp;for&nbsp;unknown&nbsp;types&nbsp;of&nbsp;Flows.<br>
935&nbsp;<br>
936Args:<br>
937&nbsp;&nbsp;filename:&nbsp;string,&nbsp;File&nbsp;name&nbsp;of&nbsp;client&nbsp;secrets.<br>
938&nbsp;&nbsp;scope:&nbsp;string&nbsp;or&nbsp;list&nbsp;of&nbsp;strings,&nbsp;scope(s)&nbsp;to&nbsp;request.<br>
939&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>
940&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>
941&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>
942&nbsp;&nbsp;&nbsp;&nbsp;provided&nbsp;then&nbsp;clientsecrets.InvalidClientSecretsError&nbsp;will&nbsp;be&nbsp;raised.<br>
943&nbsp;<br>
944Returns:<br>
945&nbsp;&nbsp;A&nbsp;<a href="#Flow">Flow</a>&nbsp;<a href="__builtin__.html#object">object</a>.<br>
946&nbsp;<br>
947Raises:<br>
948&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>
949&nbsp;&nbsp;clientsecrets.InvalidClientSecretsError&nbsp;if&nbsp;the&nbsp;clientsecrets&nbsp;file&nbsp;is<br>
950&nbsp;&nbsp;&nbsp;&nbsp;invalid.</tt></dd></dl>
951</td></tr></table><p>
952<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio6e537032011-02-09 23:04:26 -0500953<tr bgcolor="#55aa55">
954<td colspan=3 valign=bottom>&nbsp;<br>
955<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
956
957<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregorio761c4562011-10-28 14:36:24 -0400958<td width="100%"><strong>EXPIRY_FORMAT</strong> = '%Y-%m-%dT%H:%M:%SZ'<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400959<strong>__author__</strong> = 'jcgregorio@google.com (Joe Gregorio)'<br>
Joe Gregorio761c4562011-10-28 14:36:24 -0400960<strong>logger</strong> = &lt;logging.Logger object&gt;</td></tr></table><p>
Joe Gregorio6e537032011-02-09 23:04:26 -0500961<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
962<tr bgcolor="#7799ee">
963<td colspan=3 valign=bottom>&nbsp;<br>
964<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
965
966<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
967<td width="100%">jcgregorio@google.com&nbsp;(Joe&nbsp;Gregorio)</td></tr></table>
968</body></html>