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