blob: 3747fdc9ee6837f34fee86657fab335fe69f2426 [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.OAuth2WebServerFlow</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;OAuth2WebServerFlow
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.OAuth2WebServerFlow-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 OAuth2WebServerFlow</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio746096f2012-06-15 10:53:36 -040058<center> <map id="class_hierarchy_for_oauth2webs" name="class_hierarchy_for_oauth2webs">
Joe Gregorio52a5c532013-01-24 16:19:07 -050059<area shape="rect" id="node1" href="oauth2client.client.Flow-class.html" title="Flow" alt="" coords="5,6,56,34"/>
60<area shape="rect" id="node2" href="oauth2client.client.OAuth2WebServerFlow-class.html" title="OAuth2WebServerFlow" alt="" coords="80,6,237,34"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040061</map>
Joe Gregorio746096f2012-06-15 10:53:36 -040062 <img src="class_hierarchy_for_oauth2webs.gif" alt='' usemap="#class_hierarchy_for_oauth2webs" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040063</center>
64</center>
65<hr />
66<pre class="literalblock">
67Does the Web Server Flow for OAuth 2.0.
68
Joe Gregorio1b425aa2012-08-24 12:04:34 -040069OAuth2WebServerFlow objects may be safely pickled and unpickled.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040070
71</pre>
72
73<!-- ==================== INSTANCE METHODS ==================== -->
74<a name="section-InstanceMethods"></a>
75<table class="summary" border="1" cellpadding="3"
76 cellspacing="0" width="100%" bgcolor="white">
77<tr bgcolor="#70b0f0" class="table-header">
78 <td colspan="2" class="table-header">
79 <table border="0" cellpadding="0" cellspacing="0" width="100%">
80 <tr valign="top">
81 <td align="left"><span class="table-header">Instance Methods</span></td>
82 <td align="right" valign="top"
83 ><span class="options">[<a href="#section-InstanceMethods"
84 class="privatelink" onclick="toggle_private();"
85 >hide private</a>]</span></td>
86 </tr>
87 </table>
88 </td>
89</tr>
90<tr>
91 <td width="15%" align="right" valign="top" class="summary">
92 <span class="summary-type">&nbsp;</span>
93 </td><td class="summary">
94 <table width="100%" cellpadding="0" cellspacing="0" border="0">
95 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -040096 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
97 <span class="summary-sig-arg">client_id</span>,
98 <span class="summary-sig-arg">client_secret</span>,
99 <span class="summary-sig-arg">scope</span>,
100 <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>,
101 <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500102 <span class="summary-sig-arg">auth_uri</span>=<span class="summary-sig-default">GOOGLE_AUTH_URI</span>,
103 <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
104 <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400105 <span class="summary-sig-arg">**kwargs</span>)</span><br />
106 Constructor for OAuth2WebServerFlow.</td>
107 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400108 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">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>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400122 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url" class="summary-sig-name">step1_get_authorize_url</a>(<span class="summary-sig-arg">self</span>,
123 <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400124 Returns a URI to redirect to the provider.</td>
125 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400126 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step1_get_authorize_url">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400127
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>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400140 <td><span class="summary-sig"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange" class="summary-sig-name">step2_exchange</a>(<span class="summary-sig-arg">self</span>,
141 <span class="summary-sig-arg">code</span>,
142 <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400143 Exhanges a code for OAuth2Credentials.</td>
144 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400145 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step2_exchange">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400146
147 </td>
148 </tr>
149 </table>
150
151 </td>
152 </tr>
153 <tr>
154 <td colspan="2" class="summary">
155 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
156 <code>__delattr__</code>,
157 <code>__format__</code>,
158 <code>__getattribute__</code>,
159 <code>__hash__</code>,
160 <code>__new__</code>,
161 <code>__reduce__</code>,
162 <code>__reduce_ex__</code>,
163 <code>__repr__</code>,
164 <code>__setattr__</code>,
165 <code>__sizeof__</code>,
166 <code>__str__</code>,
167 <code>__subclasshook__</code>
168 </p>
169 </td>
170 </tr>
171</table>
172<!-- ==================== PROPERTIES ==================== -->
173<a name="section-Properties"></a>
174<table class="summary" border="1" cellpadding="3"
175 cellspacing="0" width="100%" bgcolor="white">
176<tr bgcolor="#70b0f0" class="table-header">
177 <td colspan="2" class="table-header">
178 <table border="0" cellpadding="0" cellspacing="0" width="100%">
179 <tr valign="top">
180 <td align="left"><span class="table-header">Properties</span></td>
181 <td align="right" valign="top"
182 ><span class="options">[<a href="#section-Properties"
183 class="privatelink" onclick="toggle_private();"
184 >hide private</a>]</span></td>
185 </tr>
186 </table>
187 </td>
188</tr>
189 <tr>
190 <td colspan="2" class="summary">
191 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
192 <code>__class__</code>
193 </p>
194 </td>
195 </tr>
196</table>
197<!-- ==================== METHOD DETAILS ==================== -->
198<a name="section-MethodDetails"></a>
199<table class="details" border="1" cellpadding="3"
200 cellspacing="0" width="100%" bgcolor="white">
201<tr bgcolor="#70b0f0" class="table-header">
202 <td colspan="2" class="table-header">
203 <table border="0" cellpadding="0" cellspacing="0" width="100%">
204 <tr valign="top">
205 <td align="left"><span class="table-header">Method Details</span></td>
206 <td align="right" valign="top"
207 ><span class="options">[<a href="#section-MethodDetails"
208 class="privatelink" onclick="toggle_private();"
209 >hide private</a>]</span></td>
210 </tr>
211 </table>
212 </td>
213</tr>
214</table>
215<a name="__init__"></a>
216<div>
217<table class="details" border="1" cellpadding="3"
218 cellspacing="0" width="100%" bgcolor="white">
219<tr><td>
220 <table width="100%" cellpadding="0" cellspacing="0" border="0">
221 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400222 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
223 <span class="sig-arg">client_id</span>,
224 <span class="sig-arg">client_secret</span>,
225 <span class="sig-arg">scope</span>,
226 <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>,
227 <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500228 <span class="sig-arg">auth_uri</span>=<span class="sig-default">GOOGLE_AUTH_URI</span>,
229 <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
230 <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400231 <span class="sig-arg">**kwargs</span>)</span>
232 <br /><em class="fname">(Constructor)</em>
233 </h3>
234 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400235 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400236 </td>
237 </tr></table>
238
239 <pre class="literalblock">
240Constructor for OAuth2WebServerFlow.
241
Joe Gregorio5350efb2012-10-24 08:54:11 -0400242The kwargs argument is used to set extra query parameters on the
243auth_uri. For example, the access_type and approval_prompt
244query parameters can be set via kwargs.
245
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400246Args:
247 client_id: string, client identifier.
248 client_secret: string client secret.
Joe Gregorio52a5c532013-01-24 16:19:07 -0500249 scope: string or iterable of strings, scope(s) of the credentials being
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400250 requested.
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400251 redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
Joe Gregorio41be8e82013-03-07 10:31:47 -0500252 a non-web-based application, or a URI that handles the callback from
253 the authorization server.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400254 user_agent: string, HTTP User-Agent to provide for this application.
255 auth_uri: string, URI for authorization endpoint. For convenience
256 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
257 token_uri: string, URI for token endpoint. For convenience
258 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
Joe Gregorio41be8e82013-03-07 10:31:47 -0500259 revoke_uri: string, URI for revoke endpoint. For convenience
260 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400261 **kwargs: dict, The keyword arguments are all optional and required
262 parameters for the OAuth calls.
263
264</pre>
265 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400266 <dt>Decorators:</dt>
267 <dd><ul class="nomargin-top">
268 <li><code>@util.positional(4)</code></li>
269 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400270 <dt>Overrides:
271 object.__init__
272 </dt>
273 </dl>
274</td></tr></table>
275</div>
276<a name="step1_get_authorize_url"></a>
277<div>
278<table class="details" border="1" cellpadding="3"
279 cellspacing="0" width="100%" bgcolor="white">
280<tr><td>
281 <table width="100%" cellpadding="0" cellspacing="0" border="0">
282 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400283 <h3 class="epydoc"><span class="sig"><span class="sig-name">step1_get_authorize_url</span>(<span class="sig-arg">self</span>,
284 <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400285 </h3>
286 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400287 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step1_get_authorize_url">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400288 </td>
289 </tr></table>
290
291 <pre class="literalblock">
292Returns a URI to redirect to the provider.
293
294Args:
295 redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
Joe Gregorio41be8e82013-03-07 10:31:47 -0500296 a non-web-based application, or a URI that handles the callback from
297 the authorization server. This parameter is deprecated, please move to
298 passing the redirect_uri in via the constructor.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400299
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400300Returns:
301 A URI as a string to redirect the user to begin the authorization flow.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400302
303</pre>
304 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400305 <dt>Decorators:</dt>
306 <dd><ul class="nomargin-top">
307 <li><code>@util.positional(1)</code></li>
308 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400309 </dl>
310</td></tr></table>
311</div>
312<a name="step2_exchange"></a>
313<div>
314<table class="details" border="1" cellpadding="3"
315 cellspacing="0" width="100%" bgcolor="white">
316<tr><td>
317 <table width="100%" cellpadding="0" cellspacing="0" border="0">
318 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400319 <h3 class="epydoc"><span class="sig"><span class="sig-name">step2_exchange</span>(<span class="sig-arg">self</span>,
320 <span class="sig-arg">code</span>,
321 <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400322 </h3>
323 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400324 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step2_exchange">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400325 </td>
326 </tr></table>
327
328 <pre class="literalblock">
329Exhanges a code for OAuth2Credentials.
330
331Args:
332 code: string or dict, either the code as a string, or a dictionary
333 of the query parameters to the redirect_uri, which contains
334 the code.
335 http: httplib2.Http, optional http instance to use to do the fetch
336
Joe Gregorio746096f2012-06-15 10:53:36 -0400337Returns:
338 An OAuth2Credentials object that can be used to authorize requests.
339
340Raises:
341 FlowExchangeError if a problem occured exchanging the code for a
342 refresh_token.
343
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400344</pre>
345 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400346 <dt>Decorators:</dt>
347 <dd><ul class="nomargin-top">
348 <li><code>@util.positional(2)</code></li>
349 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400350 </dl>
351</td></tr></table>
352</div>
353<br />
354<!-- ==================== NAVIGATION BAR ==================== -->
355<table class="navbar" border="0" width="100%" cellpadding="0"
356 bgcolor="#a0c0ff" cellspacing="0">
357 <tr valign="middle">
358
359 <!-- Tree link -->
360 <th>&nbsp;&nbsp;&nbsp;<a
361 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
362
363 <!-- Index link -->
364 <th>&nbsp;&nbsp;&nbsp;<a
365 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
366
367 <!-- Help link -->
368 <th>&nbsp;&nbsp;&nbsp;<a
369 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
370
371 <th class="navbar" width="100%"></th>
372 </tr>
373</table>
374<table border="0" cellpadding="0" cellspacing="0" width="100%%">
375 <tr>
376 <td align="left" class="footer">
Joe Gregorio41be8e82013-03-07 10:31:47 -0500377 Generated by Epydoc 3.0.1 on Thu Mar 7 10:31:25 2013
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400378 </td>
379 <td align="right" class="footer">
380 <a target="mainFrame" href="http://epydoc.sourceforge.net"
381 >http://epydoc.sourceforge.net</a>
382 </td>
383 </tr>
384</table>
385
386<script type="text/javascript">
387 <!--
388 // Private objects are initially displayed (because if
389 // javascript is turned off then we want them to be
390 // visible); but by default, we want to hide them. So hide
391 // them unless we have a cookie that says to show them.
392 checkCookie();
393 // -->
394</script>
395</body>
396</html>