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