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