blob: f86442bd1209eb10f4edb2dc874043ff4d6bff49 [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 Gregorio37802c32013-08-06 12:24:05 -040058<center> <map id="uml_class_diagram_for_oauth2cl_26" name="uml_class_diagram_for_oauth2cl_26">
59<area shape="rect" id="node162" href="oauth2client.client.OAuth2WebServerFlow-class.html#__init__" title="Constructor for OAuth2WebServerFlow." alt="" coords="17,103,1189,121"/>
60<area shape="rect" id="node162" href="oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url" title="Returns a URI to redirect to the provider." alt="" coords="17,121,1189,140"/>
61<area shape="rect" id="node162" href="oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange" title="Exhanges a code for OAuth2Credentials." alt="" coords="17,140,1189,159"/>
62<area shape="rect" id="node1" href="oauth2client.client.OAuth2WebServerFlow-class.html" title="Does the Web Server Flow for OAuth 2.0." alt="" coords="5,70,1200,165"/>
63<area shape="rect" id="node2" href="oauth2client.client.Flow-class.html" title="Base class for all Flow objects." alt="" coords="576,6,629,50"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040064</map>
Joe Gregorio37802c32013-08-06 12:24:05 -040065 <img src="uml_class_diagram_for_oauth2cl_26.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_26" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040066</center>
67</center>
68<hr />
69<pre class="literalblock">
70Does the Web Server Flow for OAuth 2.0.
71
Joe Gregorio1b425aa2012-08-24 12:04:34 -040072OAuth2WebServerFlow objects may be safely pickled and unpickled.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040073
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.OAuth2WebServerFlow-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
100 <span class="summary-sig-arg">client_id</span>,
101 <span class="summary-sig-arg">client_secret</span>,
102 <span class="summary-sig-arg">scope</span>,
103 <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>,
104 <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500105 <span class="summary-sig-arg">auth_uri</span>=<span class="summary-sig-default">GOOGLE_AUTH_URI</span>,
106 <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
107 <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400108 <span class="summary-sig-arg">**kwargs</span>)</span><br />
109 Constructor for OAuth2WebServerFlow.</td>
110 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400111 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400112
113 </td>
114 </tr>
115 </table>
116
117 </td>
118 </tr>
119<tr>
120 <td width="15%" align="right" valign="top" class="summary">
121 <span class="summary-type">&nbsp;</span>
122 </td><td class="summary">
123 <table width="100%" cellpadding="0" cellspacing="0" border="0">
124 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400125 <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>,
126 <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400127 Returns a URI to redirect to the provider.</td>
128 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400129 <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 -0400130
131 </td>
132 </tr>
133 </table>
134
135 </td>
136 </tr>
137<tr>
138 <td width="15%" align="right" valign="top" class="summary">
139 <span class="summary-type">&nbsp;</span>
140 </td><td class="summary">
141 <table width="100%" cellpadding="0" cellspacing="0" border="0">
142 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400143 <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>,
144 <span class="summary-sig-arg">code</span>,
145 <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400146 Exhanges a code for OAuth2Credentials.</td>
147 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400148 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step2_exchange">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400149
150 </td>
151 </tr>
152 </table>
153
154 </td>
155 </tr>
156 <tr>
157 <td colspan="2" class="summary">
158 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
159 <code>__delattr__</code>,
160 <code>__format__</code>,
161 <code>__getattribute__</code>,
162 <code>__hash__</code>,
163 <code>__new__</code>,
164 <code>__reduce__</code>,
165 <code>__reduce_ex__</code>,
166 <code>__repr__</code>,
167 <code>__setattr__</code>,
168 <code>__sizeof__</code>,
169 <code>__str__</code>,
170 <code>__subclasshook__</code>
171 </p>
172 </td>
173 </tr>
174</table>
175<!-- ==================== PROPERTIES ==================== -->
176<a name="section-Properties"></a>
177<table class="summary" border="1" cellpadding="3"
178 cellspacing="0" width="100%" bgcolor="white">
179<tr bgcolor="#70b0f0" class="table-header">
180 <td colspan="2" class="table-header">
181 <table border="0" cellpadding="0" cellspacing="0" width="100%">
182 <tr valign="top">
183 <td align="left"><span class="table-header">Properties</span></td>
184 <td align="right" valign="top"
185 ><span class="options">[<a href="#section-Properties"
186 class="privatelink" onclick="toggle_private();"
187 >hide private</a>]</span></td>
188 </tr>
189 </table>
190 </td>
191</tr>
192 <tr>
193 <td colspan="2" class="summary">
194 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
195 <code>__class__</code>
196 </p>
197 </td>
198 </tr>
199</table>
200<!-- ==================== METHOD DETAILS ==================== -->
201<a name="section-MethodDetails"></a>
202<table class="details" border="1" cellpadding="3"
203 cellspacing="0" width="100%" bgcolor="white">
204<tr bgcolor="#70b0f0" class="table-header">
205 <td colspan="2" class="table-header">
206 <table border="0" cellpadding="0" cellspacing="0" width="100%">
207 <tr valign="top">
208 <td align="left"><span class="table-header">Method Details</span></td>
209 <td align="right" valign="top"
210 ><span class="options">[<a href="#section-MethodDetails"
211 class="privatelink" onclick="toggle_private();"
212 >hide private</a>]</span></td>
213 </tr>
214 </table>
215 </td>
216</tr>
217</table>
218<a name="__init__"></a>
219<div>
220<table class="details" border="1" cellpadding="3"
221 cellspacing="0" width="100%" bgcolor="white">
222<tr><td>
223 <table width="100%" cellpadding="0" cellspacing="0" border="0">
224 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400225 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
226 <span class="sig-arg">client_id</span>,
227 <span class="sig-arg">client_secret</span>,
228 <span class="sig-arg">scope</span>,
229 <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>,
230 <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500231 <span class="sig-arg">auth_uri</span>=<span class="sig-default">GOOGLE_AUTH_URI</span>,
232 <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
233 <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400234 <span class="sig-arg">**kwargs</span>)</span>
235 <br /><em class="fname">(Constructor)</em>
236 </h3>
237 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400238 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400239 </td>
240 </tr></table>
241
242 <pre class="literalblock">
243Constructor for OAuth2WebServerFlow.
244
Joe Gregorio5350efb2012-10-24 08:54:11 -0400245The kwargs argument is used to set extra query parameters on the
246auth_uri. For example, the access_type and approval_prompt
247query parameters can be set via kwargs.
248
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400249Args:
250 client_id: string, client identifier.
251 client_secret: string client secret.
Joe Gregorio52a5c532013-01-24 16:19:07 -0500252 scope: string or iterable of strings, scope(s) of the credentials being
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400253 requested.
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400254 redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
Joe Gregorio41be8e82013-03-07 10:31:47 -0500255 a non-web-based application, or a URI that handles the callback from
256 the authorization server.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400257 user_agent: string, HTTP User-Agent to provide for this application.
258 auth_uri: string, URI for authorization endpoint. For convenience
259 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
260 token_uri: string, URI for token endpoint. For convenience
261 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
Joe Gregorio41be8e82013-03-07 10:31:47 -0500262 revoke_uri: string, URI for revoke endpoint. For convenience
263 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400264 **kwargs: dict, The keyword arguments are all optional and required
265 parameters for the OAuth calls.
266
267</pre>
268 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400269 <dt>Decorators:</dt>
270 <dd><ul class="nomargin-top">
271 <li><code>@util.positional(4)</code></li>
272 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400273 <dt>Overrides:
274 object.__init__
275 </dt>
276 </dl>
277</td></tr></table>
278</div>
279<a name="step1_get_authorize_url"></a>
280<div>
281<table class="details" border="1" cellpadding="3"
282 cellspacing="0" width="100%" bgcolor="white">
283<tr><td>
284 <table width="100%" cellpadding="0" cellspacing="0" border="0">
285 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400286 <h3 class="epydoc"><span class="sig"><span class="sig-name">step1_get_authorize_url</span>(<span class="sig-arg">self</span>,
287 <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400288 </h3>
289 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400290 ><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 -0400291 </td>
292 </tr></table>
293
294 <pre class="literalblock">
295Returns a URI to redirect to the provider.
296
297Args:
298 redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
Joe Gregorio41be8e82013-03-07 10:31:47 -0500299 a non-web-based application, or a URI that handles the callback from
300 the authorization server. This parameter is deprecated, please move to
301 passing the redirect_uri in via the constructor.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400302
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400303Returns:
304 A URI as a string to redirect the user to begin the authorization flow.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400305
306</pre>
307 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400308 <dt>Decorators:</dt>
309 <dd><ul class="nomargin-top">
310 <li><code>@util.positional(1)</code></li>
311 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400312 </dl>
313</td></tr></table>
314</div>
315<a name="step2_exchange"></a>
316<div>
317<table class="details" border="1" cellpadding="3"
318 cellspacing="0" width="100%" bgcolor="white">
319<tr><td>
320 <table width="100%" cellpadding="0" cellspacing="0" border="0">
321 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400322 <h3 class="epydoc"><span class="sig"><span class="sig-name">step2_exchange</span>(<span class="sig-arg">self</span>,
323 <span class="sig-arg">code</span>,
324 <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400325 </h3>
326 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400327 ><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 -0400328 </td>
329 </tr></table>
330
331 <pre class="literalblock">
332Exhanges a code for OAuth2Credentials.
333
334Args:
335 code: string or dict, either the code as a string, or a dictionary
336 of the query parameters to the redirect_uri, which contains
337 the code.
338 http: httplib2.Http, optional http instance to use to do the fetch
339
Joe Gregorio746096f2012-06-15 10:53:36 -0400340Returns:
341 An OAuth2Credentials object that can be used to authorize requests.
342
343Raises:
344 FlowExchangeError if a problem occured exchanging the code for a
345 refresh_token.
346
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400347</pre>
348 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400349 <dt>Decorators:</dt>
350 <dd><ul class="nomargin-top">
351 <li><code>@util.positional(2)</code></li>
352 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400353 </dl>
354</td></tr></table>
355</div>
356<br />
357<!-- ==================== NAVIGATION BAR ==================== -->
358<table class="navbar" border="0" width="100%" cellpadding="0"
359 bgcolor="#a0c0ff" cellspacing="0">
360 <tr valign="middle">
361
362 <!-- Tree link -->
363 <th>&nbsp;&nbsp;&nbsp;<a
364 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
365
366 <!-- Index link -->
367 <th>&nbsp;&nbsp;&nbsp;<a
368 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
369
370 <!-- Help link -->
371 <th>&nbsp;&nbsp;&nbsp;<a
372 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
373
374 <th class="navbar" width="100%"></th>
375 </tr>
376</table>
377<table border="0" cellpadding="0" cellspacing="0" width="100%%">
378 <tr>
379 <td align="left" class="footer">
Joe Gregorio37802c32013-08-06 12:24:05 -0400380 Generated by Epydoc 3.0.1 on Tue Aug 6 12:16:45 2013
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400381 </td>
382 <td align="right" class="footer">
383 <a target="mainFrame" href="http://epydoc.sourceforge.net"
384 >http://epydoc.sourceforge.net</a>
385 </td>
386 </tr>
387</table>
388
389<script type="text/javascript">
390 <!--
391 // Private objects are initially displayed (because if
392 // javascript is turned off then we want them to be
393 // visible); but by default, we want to hide them. So hide
394 // them unless we have a cookie that says to show them.
395 checkCookie();
396 // -->
397</script>
398</body>
399</html>