blob: 83364c66638d95f3cef29811024d989e71454524 [file] [log] [blame]
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>oauth2client.client.OAuth2Credentials</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
38 <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
39 Class&nbsp;OAuth2Credentials
40 </span>
41 </td>
42 <td>
43 <table cellpadding="0" cellspacing="0">
44 <!-- hide/show private -->
45 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
46 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
47 <tr><td align="right"><span class="options"
48 >[<a href="frames.html" target="_top">frames</a
49 >]&nbsp;|&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html"
50 target="_top">no&nbsp;frames</a>]</span></td></tr>
51 </table>
52 </td>
53 </tr>
54</table>
55<!-- ==================== CLASS DESCRIPTION ==================== -->
56<h1 class="epydoc">Class OAuth2Credentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio746096f2012-06-15 10:53:36 -040058<center> <map id="class_hierarchy_for_oauth2cred" name="class_hierarchy_for_oauth2cred">
Joe Gregoriof4839b02012-09-06 13:47:24 -040059<area shape="rect" href="oauth2client.client.Credentials-class.html" title="Credentials" alt="" coords="5,5,91,32"/>
60<area shape="rect" href="oauth2client.client.OAuth2Credentials-class.html" title="OAuth2Credentials" alt="" coords="115,5,245,32"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040061</map>
Joe Gregorio746096f2012-06-15 10:53:36 -040062 <img src="class_hierarchy_for_oauth2cred.gif" alt='' usemap="#class_hierarchy_for_oauth2cred" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040063</center>
64</center>
65<hr />
66<pre class="literalblock">
67Credentials object for OAuth 2.0.
68
69Credentials can be applied to an httplib2.Http object using the authorize()
70method, which then adds the OAuth 2.0 access token to each request.
71
72OAuth2Credentials objects may be safely pickled and unpickled.
73
74</pre>
75
76<!-- ==================== INSTANCE METHODS ==================== -->
77<a name="section-InstanceMethods"></a>
78<table class="summary" border="1" cellpadding="3"
79 cellspacing="0" width="100%" bgcolor="white">
80<tr bgcolor="#70b0f0" class="table-header">
81 <td colspan="2" class="table-header">
82 <table border="0" cellpadding="0" cellspacing="0" width="100%">
83 <tr valign="top">
84 <td align="left"><span class="table-header">Instance Methods</span></td>
85 <td align="right" valign="top"
86 ><span class="options">[<a href="#section-InstanceMethods"
87 class="privatelink" onclick="toggle_private();"
88 >hide private</a>]</span></td>
89 </tr>
90 </table>
91 </td>
92</tr>
93<tr>
94 <td width="15%" align="right" valign="top" class="summary">
95 <span class="summary-type">&nbsp;</span>
96 </td><td class="summary">
97 <table width="100%" cellpadding="0" cellspacing="0" border="0">
98 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -040099 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
100 <span class="summary-sig-arg">access_token</span>,
101 <span class="summary-sig-arg">client_id</span>,
102 <span class="summary-sig-arg">client_secret</span>,
103 <span class="summary-sig-arg">refresh_token</span>,
104 <span class="summary-sig-arg">token_expiry</span>,
105 <span class="summary-sig-arg">token_uri</span>,
106 <span class="summary-sig-arg">user_agent</span>,
107 <span class="summary-sig-arg">id_token</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400108 Create an instance of OAuth2Credentials.</td>
109 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400110 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__init__">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400111
112 </td>
113 </tr>
114 </table>
115
116 </td>
117 </tr>
118<tr>
119 <td width="15%" align="right" valign="top" class="summary">
120 <span class="summary-type">&nbsp;</span>
121 </td><td class="summary">
122 <table width="100%" cellpadding="0" cellspacing="0" border="0">
123 <tr>
124 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#authorize" class="summary-sig-name">authorize</a>(<span class="summary-sig-arg">self</span>,
125 <span class="summary-sig-arg">http</span>)</span><br />
126 Authorize an httplib2.Http instance with these credentials.</td>
127 <td align="right" valign="top">
128 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.authorize">source&nbsp;code</a></span>
129
130 </td>
131 </tr>
132 </table>
133
134 </td>
135 </tr>
136<tr>
137 <td width="15%" align="right" valign="top" class="summary">
138 <span class="summary-type">&nbsp;</span>
139 </td><td class="summary">
140 <table width="100%" cellpadding="0" cellspacing="0" border="0">
141 <tr>
142 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#refresh" class="summary-sig-name">refresh</a>(<span class="summary-sig-arg">self</span>,
143 <span class="summary-sig-arg">http</span>)</span><br />
144 Forces a refresh of the access_token.</td>
145 <td align="right" valign="top">
146 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.refresh">source&nbsp;code</a></span>
147
148 </td>
149 </tr>
150 </table>
151
152 </td>
153 </tr>
154<tr>
155 <td width="15%" align="right" valign="top" class="summary">
156 <span class="summary-type">&nbsp;</span>
157 </td><td class="summary">
158 <table width="100%" cellpadding="0" cellspacing="0" border="0">
159 <tr>
160 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#apply" class="summary-sig-name">apply</a>(<span class="summary-sig-arg">self</span>,
161 <span class="summary-sig-arg">headers</span>)</span><br />
162 Add the authorization to the headers.</td>
163 <td align="right" valign="top">
164 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.apply">source&nbsp;code</a></span>
165
166 </td>
167 </tr>
168 </table>
169
170 </td>
171 </tr>
172<tr>
173 <td width="15%" align="right" valign="top" class="summary">
174 <span class="summary-type">&nbsp;</span>
175 </td><td class="summary">
176 <table width="100%" cellpadding="0" cellspacing="0" border="0">
177 <tr>
178 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
179 Creating a JSON representation of an instance of Credentials.</td>
180 <td align="right" valign="top">
181 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.to_json">source&nbsp;code</a></span>
182
183 </td>
184 </tr>
185 </table>
186
187 </td>
188 </tr>
189<tr>
190 <td width="15%" align="right" valign="top" class="summary">
191 <span class="summary-type">&nbsp;</span>
192 </td><td class="summary">
193 <table width="100%" cellpadding="0" cellspacing="0" border="0">
194 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400195 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" class="summary-sig-name">access_token_expired</a>(<span class="summary-sig-arg">self</span>)</span><br />
196 True if the credential is expired or invalid.</td>
197 <td align="right" valign="top">
198 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.access_token_expired">source&nbsp;code</a></span>
199
200 </td>
201 </tr>
202 </table>
203
204 </td>
205 </tr>
206<tr>
207 <td width="15%" align="right" valign="top" class="summary">
208 <span class="summary-type">&nbsp;</span>
209 </td><td class="summary">
210 <table width="100%" cellpadding="0" cellspacing="0" border="0">
211 <tr>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400212 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#set_store" class="summary-sig-name">set_store</a>(<span class="summary-sig-arg">self</span>,
213 <span class="summary-sig-arg">store</span>)</span><br />
214 Set the Storage for the credential.</td>
215 <td align="right" valign="top">
216 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.set_store">source&nbsp;code</a></span>
217
218 </td>
219 </tr>
220 </table>
221
222 </td>
223 </tr>
224<tr class="private">
225 <td width="15%" align="right" valign="top" class="summary">
226 <span class="summary-type">&nbsp;</span>
227 </td><td class="summary">
228 <table width="100%" cellpadding="0" cellspacing="0" border="0">
229 <tr>
230 <td><span class="summary-sig"><a name="_updateFromCredential"></a><span class="summary-sig-name">_updateFromCredential</span>(<span class="summary-sig-arg">self</span>,
231 <span class="summary-sig-arg">other</span>)</span><br />
232 Update this Credential from another instance.</td>
233 <td align="right" valign="top">
234 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._updateFromCredential">source&nbsp;code</a></span>
235
236 </td>
237 </tr>
238 </table>
239
240 </td>
241 </tr>
242<tr>
243 <td width="15%" align="right" valign="top" class="summary">
244 <span class="summary-type">&nbsp;</span>
245 </td><td class="summary">
246 <table width="100%" cellpadding="0" cellspacing="0" border="0">
247 <tr>
248 <td><span class="summary-sig"><a name="__getstate__"></a><span class="summary-sig-name">__getstate__</span>(<span class="summary-sig-arg">self</span>)</span><br />
249 Trim the state down to something that can be pickled.</td>
250 <td align="right" valign="top">
251 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__getstate__">source&nbsp;code</a></span>
252
253 </td>
254 </tr>
255 </table>
256
257 </td>
258 </tr>
259<tr>
260 <td width="15%" align="right" valign="top" class="summary">
261 <span class="summary-type">&nbsp;</span>
262 </td><td class="summary">
263 <table width="100%" cellpadding="0" cellspacing="0" border="0">
264 <tr>
265 <td><span class="summary-sig"><a name="__setstate__"></a><span class="summary-sig-name">__setstate__</span>(<span class="summary-sig-arg">self</span>,
266 <span class="summary-sig-arg">state</span>)</span><br />
267 Reconstitute the state of the object from being pickled.</td>
268 <td align="right" valign="top">
269 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__setstate__">source&nbsp;code</a></span>
270
271 </td>
272 </tr>
273 </table>
274
275 </td>
276 </tr>
277<tr class="private">
278 <td width="15%" align="right" valign="top" class="summary">
279 <span class="summary-type">&nbsp;</span>
280 </td><td class="summary">
281 <table width="100%" cellpadding="0" cellspacing="0" border="0">
282 <tr>
283 <td><span class="summary-sig"><a name="_generate_refresh_request_body"></a><span class="summary-sig-name">_generate_refresh_request_body</span>(<span class="summary-sig-arg">self</span>)</span><br />
284 Generate the body that will be used in the refresh request.</td>
285 <td align="right" valign="top">
286 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._generate_refresh_request_body">source&nbsp;code</a></span>
287
288 </td>
289 </tr>
290 </table>
291
292 </td>
293 </tr>
294<tr class="private">
295 <td width="15%" align="right" valign="top" class="summary">
296 <span class="summary-type">&nbsp;</span>
297 </td><td class="summary">
298 <table width="100%" cellpadding="0" cellspacing="0" border="0">
299 <tr>
300 <td><span class="summary-sig"><a name="_generate_refresh_request_headers"></a><span class="summary-sig-name">_generate_refresh_request_headers</span>(<span class="summary-sig-arg">self</span>)</span><br />
301 Generate the headers that will be used in the refresh request.</td>
302 <td align="right" valign="top">
303 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._generate_refresh_request_headers">source&nbsp;code</a></span>
304
305 </td>
306 </tr>
307 </table>
308
309 </td>
310 </tr>
311<tr class="private">
312 <td width="15%" align="right" valign="top" class="summary">
313 <span class="summary-type">&nbsp;</span>
314 </td><td class="summary">
315 <table width="100%" cellpadding="0" cellspacing="0" border="0">
316 <tr>
317 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" class="summary-sig-name" onclick="show_private();">_refresh</a>(<span class="summary-sig-arg">self</span>,
318 <span class="summary-sig-arg">http_request</span>)</span><br />
319 Refreshes the access_token.</td>
320 <td align="right" valign="top">
321 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._refresh">source&nbsp;code</a></span>
322
323 </td>
324 </tr>
325 </table>
326
327 </td>
328 </tr>
329<tr class="private">
330 <td width="15%" align="right" valign="top" class="summary">
331 <span class="summary-type">&nbsp;</span>
332 </td><td class="summary">
333 <table width="100%" cellpadding="0" cellspacing="0" border="0">
334 <tr>
335 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" class="summary-sig-name" onclick="show_private();">_do_refresh_request</a>(<span class="summary-sig-arg">self</span>,
336 <span class="summary-sig-arg">http_request</span>)</span><br />
337 Refresh the access_token using the refresh_token.</td>
338 <td align="right" valign="top">
339 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._do_refresh_request">source&nbsp;code</a></span>
340
341 </td>
342 </tr>
343 </table>
344
345 </td>
346 </tr>
347 <tr>
348 <td colspan="2" class="summary">
349 <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b> (private):
350 <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
351 </p></div>
352 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
353 <code>__delattr__</code>,
354 <code>__format__</code>,
355 <code>__getattribute__</code>,
356 <code>__hash__</code>,
357 <code>__new__</code>,
358 <code>__reduce__</code>,
359 <code>__reduce_ex__</code>,
360 <code>__repr__</code>,
361 <code>__setattr__</code>,
362 <code>__sizeof__</code>,
363 <code>__str__</code>,
364 <code>__subclasshook__</code>
365 </p>
366 </td>
367 </tr>
368</table>
369<!-- ==================== CLASS METHODS ==================== -->
370<a name="section-ClassMethods"></a>
371<table class="summary" border="1" cellpadding="3"
372 cellspacing="0" width="100%" bgcolor="white">
373<tr bgcolor="#70b0f0" class="table-header">
374 <td colspan="2" class="table-header">
375 <table border="0" cellpadding="0" cellspacing="0" width="100%">
376 <tr valign="top">
377 <td align="left"><span class="table-header">Class Methods</span></td>
378 <td align="right" valign="top"
379 ><span class="options">[<a href="#section-ClassMethods"
380 class="privatelink" onclick="toggle_private();"
381 >hide private</a>]</span></td>
382 </tr>
383 </table>
384 </td>
385</tr>
386<tr>
387 <td width="15%" align="right" valign="top" class="summary">
388 <span class="summary-type">&nbsp;</span>
389 </td><td class="summary">
390 <table width="100%" cellpadding="0" cellspacing="0" border="0">
391 <tr>
392 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
393 <span class="summary-sig-arg">s</span>)</span><br />
394 Instantiate a Credentials object from a JSON description of it.</td>
395 <td align="right" valign="top">
396 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.from_json">source&nbsp;code</a></span>
397
398 </td>
399 </tr>
400 </table>
401
402 </td>
403 </tr>
404 <tr>
405 <td colspan="2" class="summary">
406 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
407 <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
408 </p>
409 </td>
410 </tr>
411</table>
412<!-- ==================== CLASS VARIABLES ==================== -->
413<a name="section-ClassVariables"></a>
414<table class="summary" border="1" cellpadding="3"
415 cellspacing="0" width="100%" bgcolor="white">
416<tr bgcolor="#70b0f0" class="table-header">
417 <td colspan="2" class="table-header">
418 <table border="0" cellpadding="0" cellspacing="0" width="100%">
419 <tr valign="top">
420 <td align="left"><span class="table-header">Class Variables</span></td>
421 <td align="right" valign="top"
422 ><span class="options">[<a href="#section-ClassVariables"
423 class="privatelink" onclick="toggle_private();"
424 >hide private</a>]</span></td>
425 </tr>
426 </table>
427 </td>
428</tr>
429 <tr>
430 <td colspan="2" class="summary">
431 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
432 <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
433 </p>
434 </td>
435 </tr>
436</table>
437<!-- ==================== PROPERTIES ==================== -->
438<a name="section-Properties"></a>
439<table class="summary" border="1" cellpadding="3"
440 cellspacing="0" width="100%" bgcolor="white">
441<tr bgcolor="#70b0f0" class="table-header">
442 <td colspan="2" class="table-header">
443 <table border="0" cellpadding="0" cellspacing="0" width="100%">
444 <tr valign="top">
445 <td align="left"><span class="table-header">Properties</span></td>
446 <td align="right" valign="top"
447 ><span class="options">[<a href="#section-Properties"
448 class="privatelink" onclick="toggle_private();"
449 >hide private</a>]</span></td>
450 </tr>
451 </table>
452 </td>
453</tr>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400454 <tr>
455 <td colspan="2" class="summary">
456 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
457 <code>__class__</code>
458 </p>
459 </td>
460 </tr>
461</table>
462<!-- ==================== METHOD DETAILS ==================== -->
463<a name="section-MethodDetails"></a>
464<table class="details" border="1" cellpadding="3"
465 cellspacing="0" width="100%" bgcolor="white">
466<tr bgcolor="#70b0f0" class="table-header">
467 <td colspan="2" class="table-header">
468 <table border="0" cellpadding="0" cellspacing="0" width="100%">
469 <tr valign="top">
470 <td align="left"><span class="table-header">Method Details</span></td>
471 <td align="right" valign="top"
472 ><span class="options">[<a href="#section-MethodDetails"
473 class="privatelink" onclick="toggle_private();"
474 >hide private</a>]</span></td>
475 </tr>
476 </table>
477 </td>
478</tr>
479</table>
480<a name="__init__"></a>
481<div>
482<table class="details" border="1" cellpadding="3"
483 cellspacing="0" width="100%" bgcolor="white">
484<tr><td>
485 <table width="100%" cellpadding="0" cellspacing="0" border="0">
486 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400487 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
488 <span class="sig-arg">access_token</span>,
489 <span class="sig-arg">client_id</span>,
490 <span class="sig-arg">client_secret</span>,
491 <span class="sig-arg">refresh_token</span>,
492 <span class="sig-arg">token_expiry</span>,
493 <span class="sig-arg">token_uri</span>,
494 <span class="sig-arg">user_agent</span>,
495 <span class="sig-arg">id_token</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400496 <br /><em class="fname">(Constructor)</em>
497 </h3>
498 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400499 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400500 </td>
501 </tr></table>
502
503 <pre class="literalblock">
504Create an instance of OAuth2Credentials.
505
506This constructor is not usually called by the user, instead
507OAuth2Credentials objects are instantiated by the OAuth2WebServerFlow.
508
509Args:
510 access_token: string, access token.
511 client_id: string, client identifier.
512 client_secret: string, client secret.
513 refresh_token: string, refresh token.
514 token_expiry: datetime, when the access_token expires.
515 token_uri: string, URI of token endpoint.
516 user_agent: string, The HTTP User-Agent to provide for this application.
517 id_token: object, The identity of the resource owner.
518
519Notes:
520 store: callable, A callable that when passed a Credential
521 will store the credential back to where it came from.
522 This is needed to store the latest access_token if it
523 has expired and been refreshed.
524
525</pre>
526 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400527 <dt>Decorators:</dt>
528 <dd><ul class="nomargin-top">
529 <li><code>@util.positional(8)</code></li>
530 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400531 <dt>Overrides:
532 object.__init__
533 </dt>
534 </dl>
535</td></tr></table>
536</div>
537<a name="authorize"></a>
538<div>
539<table class="details" border="1" cellpadding="3"
540 cellspacing="0" width="100%" bgcolor="white">
541<tr><td>
542 <table width="100%" cellpadding="0" cellspacing="0" border="0">
543 <tr valign="top"><td>
544 <h3 class="epydoc"><span class="sig"><span class="sig-name">authorize</span>(<span class="sig-arg">self</span>,
545 <span class="sig-arg">http</span>)</span>
546 </h3>
547 </td><td align="right" valign="top"
548 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.authorize">source&nbsp;code</a></span>&nbsp;
549 </td>
550 </tr></table>
551
552 <pre class="literalblock">
553Authorize an httplib2.Http instance with these credentials.
554
555The modified http.request method will add authentication headers to each
556request and will refresh access_tokens when a 401 is received on a
557request. In addition the http.request method has a credentials property,
558http.request.credentials, which is the Credentials object that authorized
559it.
560
561Args:
562 http: An instance of httplib2.Http
563 or something that acts like it.
564
565Returns:
566 A modified instance of http that was passed in.
567
568Example:
569
570 h = httplib2.Http()
571 h = credentials.authorize(h)
572
573You can't create a new OAuth subclass of httplib2.Authenication
574because it never gets passed the absolute URI, which is needed for
575signing. So instead we have to overload 'request' with a closure
576that adds in the Authorization header and then calls the original
577version of 'request()'.
578
579</pre>
580 <dl class="fields">
581 <dt>Overrides:
582 <a href="oauth2client.client.Credentials-class.html#authorize">Credentials.authorize</a>
583 </dt>
584 </dl>
585</td></tr></table>
586</div>
587<a name="refresh"></a>
588<div>
589<table class="details" border="1" cellpadding="3"
590 cellspacing="0" width="100%" bgcolor="white">
591<tr><td>
592 <table width="100%" cellpadding="0" cellspacing="0" border="0">
593 <tr valign="top"><td>
594 <h3 class="epydoc"><span class="sig"><span class="sig-name">refresh</span>(<span class="sig-arg">self</span>,
595 <span class="sig-arg">http</span>)</span>
596 </h3>
597 </td><td align="right" valign="top"
598 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.refresh">source&nbsp;code</a></span>&nbsp;
599 </td>
600 </tr></table>
601
602 <pre class="literalblock">
603Forces a refresh of the access_token.
604
605Args:
606 http: httplib2.Http, an http object to be used to make the refresh
607 request.
608
609</pre>
610 <dl class="fields">
611 <dt>Overrides:
612 <a href="oauth2client.client.Credentials-class.html#refresh">Credentials.refresh</a>
613 </dt>
614 </dl>
615</td></tr></table>
616</div>
617<a name="apply"></a>
618<div>
619<table class="details" border="1" cellpadding="3"
620 cellspacing="0" width="100%" bgcolor="white">
621<tr><td>
622 <table width="100%" cellpadding="0" cellspacing="0" border="0">
623 <tr valign="top"><td>
624 <h3 class="epydoc"><span class="sig"><span class="sig-name">apply</span>(<span class="sig-arg">self</span>,
625 <span class="sig-arg">headers</span>)</span>
626 </h3>
627 </td><td align="right" valign="top"
628 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.apply">source&nbsp;code</a></span>&nbsp;
629 </td>
630 </tr></table>
631
632 <pre class="literalblock">
633Add the authorization to the headers.
634
635Args:
636 headers: dict, the headers to add the Authorization header to.
637
638</pre>
639 <dl class="fields">
640 <dt>Overrides:
641 <a href="oauth2client.client.Credentials-class.html#apply">Credentials.apply</a>
642 </dt>
643 </dl>
644</td></tr></table>
645</div>
646<a name="to_json"></a>
647<div>
648<table class="details" border="1" cellpadding="3"
649 cellspacing="0" width="100%" bgcolor="white">
650<tr><td>
651 <table width="100%" cellpadding="0" cellspacing="0" border="0">
652 <tr valign="top"><td>
653 <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
654 </h3>
655 </td><td align="right" valign="top"
656 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.to_json">source&nbsp;code</a></span>&nbsp;
657 </td>
658 </tr></table>
659
660 <pre class="literalblock">
661Creating a JSON representation of an instance of Credentials.
662
663Returns:
664 string, a JSON representation of this instance, suitable to pass to
665 from_json().
666
667</pre>
668 <dl class="fields">
669 <dt>Overrides:
670 <a href="oauth2client.client.Credentials-class.html#to_json">Credentials.to_json</a>
671 <dd><em class="note">(inherited documentation)</em></dd>
672 </dt>
673 </dl>
674</td></tr></table>
675</div>
676<a name="from_json"></a>
677<div>
678<table class="details" border="1" cellpadding="3"
679 cellspacing="0" width="100%" bgcolor="white">
680<tr><td>
681 <table width="100%" cellpadding="0" cellspacing="0" border="0">
682 <tr valign="top"><td>
683 <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
684 <span class="sig-arg">s</span>)</span>
685 <br /><em class="fname">Class Method</em>
686 </h3>
687 </td><td align="right" valign="top"
688 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.from_json">source&nbsp;code</a></span>&nbsp;
689 </td>
690 </tr></table>
691
692 <pre class="literalblock">
693Instantiate a Credentials object from a JSON description of it. The JSON
694should have been produced by calling .to_json() on the object.
695
696Args:
697 data: dict, A deserialized JSON object.
698
699Returns:
700 An instance of a Credentials subclass.
701
702</pre>
703 <dl class="fields">
704 <dt>Overrides:
705 <a href="oauth2client.client.Credentials-class.html#from_json">Credentials.from_json</a>
706 </dt>
707 </dl>
708</td></tr></table>
709</div>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400710<a name="access_token_expired"></a>
711<div>
712<table class="details" border="1" cellpadding="3"
713 cellspacing="0" width="100%" bgcolor="white">
714<tr><td>
715 <table width="100%" cellpadding="0" cellspacing="0" border="0">
716 <tr valign="top"><td>
717 <h3 class="epydoc"><span class="sig"><span class="sig-name">access_token_expired</span>(<span class="sig-arg">self</span>)</span>
718 </h3>
719 </td><td align="right" valign="top"
720 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.access_token_expired">source&nbsp;code</a></span>&nbsp;
721 </td>
722 </tr></table>
723
724 <pre class="literalblock">
725True if the credential is expired or invalid.
726
727If the token_expiry isn't set, we assume the token doesn't expire.
728
729</pre>
730 <dl class="fields">
731 <dt>Decorators:</dt>
732 <dd><ul class="nomargin-top">
733 <li><code>@property</code></li>
734 </ul></dd>
735 </dl>
736</td></tr></table>
737</div>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400738<a name="set_store"></a>
739<div>
740<table class="details" border="1" cellpadding="3"
741 cellspacing="0" width="100%" bgcolor="white">
742<tr><td>
743 <table width="100%" cellpadding="0" cellspacing="0" border="0">
744 <tr valign="top"><td>
745 <h3 class="epydoc"><span class="sig"><span class="sig-name">set_store</span>(<span class="sig-arg">self</span>,
746 <span class="sig-arg">store</span>)</span>
747 </h3>
748 </td><td align="right" valign="top"
749 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.set_store">source&nbsp;code</a></span>&nbsp;
750 </td>
751 </tr></table>
752
753 <pre class="literalblock">
754Set the Storage for the credential.
755
756Args:
757 store: Storage, an implementation of Stroage object.
758 This is needed to store the latest access_token if it
759 has expired and been refreshed. This implementation uses
760 locking to check for updates before updating the
761 access_token.
762
763</pre>
764 <dl class="fields">
765 </dl>
766</td></tr></table>
767</div>
768<a name="_refresh"></a>
769<div class="private">
770<table class="details" border="1" cellpadding="3"
771 cellspacing="0" width="100%" bgcolor="white">
772<tr><td>
773 <table width="100%" cellpadding="0" cellspacing="0" border="0">
774 <tr valign="top"><td>
775 <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh</span>(<span class="sig-arg">self</span>,
776 <span class="sig-arg">http_request</span>)</span>
777 </h3>
778 </td><td align="right" valign="top"
779 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._refresh">source&nbsp;code</a></span>&nbsp;
780 </td>
781 </tr></table>
782
783 <pre class="literalblock">
784Refreshes the access_token.
785
786This method first checks by reading the Storage object if available.
787If a refresh is still needed, it holds the Storage lock until the
788refresh is completed.
789
790Args:
791 http_request: callable, a callable that matches the method signature of
792 httplib2.Http.request, used to make the refresh request.
793
794Raises:
795 AccessTokenRefreshError: When the refresh fails.
796
797</pre>
798 <dl class="fields">
799 </dl>
800</td></tr></table>
801</div>
802<a name="_do_refresh_request"></a>
803<div class="private">
804<table class="details" border="1" cellpadding="3"
805 cellspacing="0" width="100%" bgcolor="white">
806<tr><td>
807 <table width="100%" cellpadding="0" cellspacing="0" border="0">
808 <tr valign="top"><td>
809 <h3 class="epydoc"><span class="sig"><span class="sig-name">_do_refresh_request</span>(<span class="sig-arg">self</span>,
810 <span class="sig-arg">http_request</span>)</span>
811 </h3>
812 </td><td align="right" valign="top"
813 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._do_refresh_request">source&nbsp;code</a></span>&nbsp;
814 </td>
815 </tr></table>
816
817 <pre class="literalblock">
818Refresh the access_token using the refresh_token.
819
820Args:
821 http_request: callable, a callable that matches the method signature of
822 httplib2.Http.request, used to make the refresh request.
823
824Raises:
825 AccessTokenRefreshError: When the refresh fails.
826
827</pre>
828 <dl class="fields">
829 </dl>
830</td></tr></table>
831</div>
832<br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400833<!-- ==================== NAVIGATION BAR ==================== -->
834<table class="navbar" border="0" width="100%" cellpadding="0"
835 bgcolor="#a0c0ff" cellspacing="0">
836 <tr valign="middle">
837
838 <!-- Tree link -->
839 <th>&nbsp;&nbsp;&nbsp;<a
840 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
841
842 <!-- Index link -->
843 <th>&nbsp;&nbsp;&nbsp;<a
844 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
845
846 <!-- Help link -->
847 <th>&nbsp;&nbsp;&nbsp;<a
848 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
849
850 <th class="navbar" width="100%"></th>
851 </tr>
852</table>
853<table border="0" cellpadding="0" cellspacing="0" width="100%%">
854 <tr>
855 <td align="left" class="footer">
Joe Gregoriod67010d2012-11-05 08:57:06 -0500856 Generated by Epydoc 3.0.1 on Mon Nov 5 08:53:55 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400857 </td>
858 <td align="right" class="footer">
859 <a target="mainFrame" href="http://epydoc.sourceforge.net"
860 >http://epydoc.sourceforge.net</a>
861 </td>
862 </tr>
863</table>
864
865<script type="text/javascript">
866 <!--
867 // Private objects are initially displayed (because if
868 // javascript is turned off then we want them to be
869 // visible); but by default, we want to hide them. So hide
870 // them unless we have a cookie that says to show them.
871 checkCookie();
872 // -->
873</script>
874</body>
875</html>