blob: 7fd768aca21afc957dd38d6aeb87abbc8e36455d [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 Gregoriof4839b02012-09-06 13:47:24 -040059<area shape="rect" href="oauth2client.client.Flow-class.html" title="Flow" alt="" coords="5,5,53,32"/>
60<area shape="rect" href="oauth2client.client.OAuth2WebServerFlow-class.html" title="OAuth2WebServerFlow" alt="" coords="77,5,232,32"/>
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>,
102 <span class="summary-sig-arg">auth_uri</span>=<span class="summary-sig-default">'https://accounts.google.com/o/oauth2/auth'</span>,
103 <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">'https://accounts.google.com/o/oauth2/token'</span>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400104 <span class="summary-sig-arg">**kwargs</span>)</span><br />
105 Constructor for OAuth2WebServerFlow.</td>
106 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400107 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400108
109 </td>
110 </tr>
111 </table>
112
113 </td>
114 </tr>
115<tr>
116 <td width="15%" align="right" valign="top" class="summary">
117 <span class="summary-type">&nbsp;</span>
118 </td><td class="summary">
119 <table width="100%" cellpadding="0" cellspacing="0" border="0">
120 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400121 <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>,
122 <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400123 Returns a URI to redirect to the provider.</td>
124 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400125 <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 -0400126
127 </td>
128 </tr>
129 </table>
130
131 </td>
132 </tr>
133<tr>
134 <td width="15%" align="right" valign="top" class="summary">
135 <span class="summary-type">&nbsp;</span>
136 </td><td class="summary">
137 <table width="100%" cellpadding="0" cellspacing="0" border="0">
138 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400139 <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>,
140 <span class="summary-sig-arg">code</span>,
141 <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400142 Exhanges a code for OAuth2Credentials.</td>
143 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400144 <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step2_exchange">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400145
146 </td>
147 </tr>
148 </table>
149
150 </td>
151 </tr>
152 <tr>
153 <td colspan="2" class="summary">
154 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
155 <code>__delattr__</code>,
156 <code>__format__</code>,
157 <code>__getattribute__</code>,
158 <code>__hash__</code>,
159 <code>__new__</code>,
160 <code>__reduce__</code>,
161 <code>__reduce_ex__</code>,
162 <code>__repr__</code>,
163 <code>__setattr__</code>,
164 <code>__sizeof__</code>,
165 <code>__str__</code>,
166 <code>__subclasshook__</code>
167 </p>
168 </td>
169 </tr>
170</table>
171<!-- ==================== PROPERTIES ==================== -->
172<a name="section-Properties"></a>
173<table class="summary" border="1" cellpadding="3"
174 cellspacing="0" width="100%" bgcolor="white">
175<tr bgcolor="#70b0f0" class="table-header">
176 <td colspan="2" class="table-header">
177 <table border="0" cellpadding="0" cellspacing="0" width="100%">
178 <tr valign="top">
179 <td align="left"><span class="table-header">Properties</span></td>
180 <td align="right" valign="top"
181 ><span class="options">[<a href="#section-Properties"
182 class="privatelink" onclick="toggle_private();"
183 >hide private</a>]</span></td>
184 </tr>
185 </table>
186 </td>
187</tr>
188 <tr>
189 <td colspan="2" class="summary">
190 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
191 <code>__class__</code>
192 </p>
193 </td>
194 </tr>
195</table>
196<!-- ==================== METHOD DETAILS ==================== -->
197<a name="section-MethodDetails"></a>
198<table class="details" border="1" cellpadding="3"
199 cellspacing="0" width="100%" bgcolor="white">
200<tr bgcolor="#70b0f0" class="table-header">
201 <td colspan="2" class="table-header">
202 <table border="0" cellpadding="0" cellspacing="0" width="100%">
203 <tr valign="top">
204 <td align="left"><span class="table-header">Method Details</span></td>
205 <td align="right" valign="top"
206 ><span class="options">[<a href="#section-MethodDetails"
207 class="privatelink" onclick="toggle_private();"
208 >hide private</a>]</span></td>
209 </tr>
210 </table>
211 </td>
212</tr>
213</table>
214<a name="__init__"></a>
215<div>
216<table class="details" border="1" cellpadding="3"
217 cellspacing="0" width="100%" bgcolor="white">
218<tr><td>
219 <table width="100%" cellpadding="0" cellspacing="0" border="0">
220 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400221 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
222 <span class="sig-arg">client_id</span>,
223 <span class="sig-arg">client_secret</span>,
224 <span class="sig-arg">scope</span>,
225 <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>,
226 <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
227 <span class="sig-arg">auth_uri</span>=<span class="sig-default">'https://accounts.google.com/o/oauth2/auth'</span>,
228 <span class="sig-arg">token_uri</span>=<span class="sig-default">'https://accounts.google.com/o/oauth2/token'</span>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400229 <span class="sig-arg">**kwargs</span>)</span>
230 <br /><em class="fname">(Constructor)</em>
231 </h3>
232 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400233 ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400234 </td>
235 </tr></table>
236
237 <pre class="literalblock">
238Constructor for OAuth2WebServerFlow.
239
Joe Gregorio5350efb2012-10-24 08:54:11 -0400240The kwargs argument is used to set extra query parameters on the
241auth_uri. For example, the access_type and approval_prompt
242query parameters can be set via kwargs.
243
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400244Args:
245 client_id: string, client identifier.
246 client_secret: string client secret.
247 scope: string or list of strings, scope(s) of the credentials being
248 requested.
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400249 redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
250 a non-web-based application, or a URI that handles the callback from
251 the authorization server.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400252 user_agent: string, HTTP User-Agent to provide for this application.
253 auth_uri: string, URI for authorization endpoint. For convenience
254 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
255 token_uri: string, URI for token endpoint. For convenience
256 defaults to Google's endpoints but any OAuth 2.0 provider can be used.
257 **kwargs: dict, The keyword arguments are all optional and required
258 parameters for the OAuth calls.
259
260</pre>
261 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400262 <dt>Decorators:</dt>
263 <dd><ul class="nomargin-top">
264 <li><code>@util.positional(4)</code></li>
265 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400266 <dt>Overrides:
267 object.__init__
268 </dt>
269 </dl>
270</td></tr></table>
271</div>
272<a name="step1_get_authorize_url"></a>
273<div>
274<table class="details" border="1" cellpadding="3"
275 cellspacing="0" width="100%" bgcolor="white">
276<tr><td>
277 <table width="100%" cellpadding="0" cellspacing="0" border="0">
278 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400279 <h3 class="epydoc"><span class="sig"><span class="sig-name">step1_get_authorize_url</span>(<span class="sig-arg">self</span>,
280 <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400281 </h3>
282 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400283 ><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 -0400284 </td>
285 </tr></table>
286
287 <pre class="literalblock">
288Returns a URI to redirect to the provider.
289
290Args:
291 redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
292 a non-web-based application, or a URI that handles the callback from
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400293 the authorization server. This parameter is deprecated, please move to
294 passing the redirect_uri in via the constructor.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400295
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400296Returns:
297 A URI as a string to redirect the user to begin the authorization flow.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400298
299</pre>
300 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400301 <dt>Decorators:</dt>
302 <dd><ul class="nomargin-top">
303 <li><code>@util.positional(1)</code></li>
304 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400305 </dl>
306</td></tr></table>
307</div>
308<a name="step2_exchange"></a>
309<div>
310<table class="details" border="1" cellpadding="3"
311 cellspacing="0" width="100%" bgcolor="white">
312<tr><td>
313 <table width="100%" cellpadding="0" cellspacing="0" border="0">
314 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400315 <h3 class="epydoc"><span class="sig"><span class="sig-name">step2_exchange</span>(<span class="sig-arg">self</span>,
316 <span class="sig-arg">code</span>,
317 <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400318 </h3>
319 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400320 ><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 -0400321 </td>
322 </tr></table>
323
324 <pre class="literalblock">
325Exhanges a code for OAuth2Credentials.
326
327Args:
328 code: string or dict, either the code as a string, or a dictionary
329 of the query parameters to the redirect_uri, which contains
330 the code.
331 http: httplib2.Http, optional http instance to use to do the fetch
332
Joe Gregorio746096f2012-06-15 10:53:36 -0400333Returns:
334 An OAuth2Credentials object that can be used to authorize requests.
335
336Raises:
337 FlowExchangeError if a problem occured exchanging the code for a
338 refresh_token.
339
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400340</pre>
341 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400342 <dt>Decorators:</dt>
343 <dd><ul class="nomargin-top">
344 <li><code>@util.positional(2)</code></li>
345 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400346 </dl>
347</td></tr></table>
348</div>
349<br />
350<!-- ==================== NAVIGATION BAR ==================== -->
351<table class="navbar" border="0" width="100%" cellpadding="0"
352 bgcolor="#a0c0ff" cellspacing="0">
353 <tr valign="middle">
354
355 <!-- Tree link -->
356 <th>&nbsp;&nbsp;&nbsp;<a
357 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
358
359 <!-- Index link -->
360 <th>&nbsp;&nbsp;&nbsp;<a
361 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
362
363 <!-- Help link -->
364 <th>&nbsp;&nbsp;&nbsp;<a
365 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
366
367 <th class="navbar" width="100%"></th>
368 </tr>
369</table>
370<table border="0" cellpadding="0" cellspacing="0" width="100%%">
371 <tr>
372 <td align="left" class="footer">
Joe Gregorio5350efb2012-10-24 08:54:11 -0400373 Generated by Epydoc 3.0.1 on Wed Oct 24 08:53:08 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400374 </td>
375 <td align="right" class="footer">
376 <a target="mainFrame" href="http://epydoc.sourceforge.net"
377 >http://epydoc.sourceforge.net</a>
378 </td>
379 </tr>
380</table>
381
382<script type="text/javascript">
383 <!--
384 // Private objects are initially displayed (because if
385 // javascript is turned off then we want them to be
386 // visible); but by default, we want to hide them. So hide
387 // them unless we have a cookie that says to show them.
388 checkCookie();
389 // -->
390</script>
391</body>
392</html>