blob: 43d576ed401eeaf172059616630a0306370a39b2 [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.appengine</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 Module&nbsp;appengine
39 </span>
40 </td>
41 <td>
42 <table cellpadding="0" cellspacing="0">
43 <!-- hide/show private -->
44 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
45 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
46 <tr><td align="right"><span class="options"
47 >[<a href="frames.html" target="_top">frames</a
48 >]&nbsp;|&nbsp;<a href="oauth2client.appengine-module.html"
49 target="_top">no&nbsp;frames</a>]</span></td></tr>
50 </table>
51 </td>
52 </tr>
53</table>
54<!-- ==================== MODULE DESCRIPTION ==================== -->
55<h1 class="epydoc">Module appengine</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html">source&nbsp;code</a></span></p>
56<pre class="literalblock">
57Utilities for Google App Engine
58
59Utilities for making it easier to use OAuth 2.0 on Google App Engine.
60
61</pre>
62
63<hr />
64<div class="fields"> <p><strong>Author:</strong>
65 jcgregorio@google.com (Joe Gregorio)
66 </p>
67</div><!-- ==================== CLASSES ==================== -->
68<a name="section-Classes"></a>
69<table class="summary" border="1" cellpadding="3"
70 cellspacing="0" width="100%" bgcolor="white">
71<tr bgcolor="#70b0f0" class="table-header">
72 <td colspan="2" class="table-header">
73 <table border="0" cellpadding="0" cellspacing="0" width="100%">
74 <tr valign="top">
75 <td align="left"><span class="table-header">Classes</span></td>
76 <td align="right" valign="top"
77 ><span class="options">[<a href="#section-Classes"
78 class="privatelink" onclick="toggle_private();"
79 >hide private</a>]</span></td>
80 </tr>
81 </table>
82 </td>
83</tr>
84<tr>
85 <td width="15%" align="right" valign="top" class="summary">
86 <span class="summary-type">&nbsp;</span>
87 </td><td class="summary">
88 <a href="oauth2client.appengine.InvalidClientSecretsError-class.html" class="summary-name">InvalidClientSecretsError</a><br />
89 The client_secrets.json file is malformed or missing required fields.
90 </td>
91 </tr>
92<tr>
93 <td width="15%" align="right" valign="top" class="summary">
94 <span class="summary-type">&nbsp;</span>
95 </td><td class="summary">
96 <a href="oauth2client.appengine.AppAssertionCredentials-class.html" class="summary-name">AppAssertionCredentials</a><br />
97 Credentials object for App Engine Assertion Grants
98 </td>
99 </tr>
100<tr>
101 <td width="15%" align="right" valign="top" class="summary">
102 <span class="summary-type">&nbsp;</span>
103 </td><td class="summary">
104 <a href="oauth2client.appengine.FlowProperty-class.html" class="summary-name">FlowProperty</a><br />
105 App Engine datastore Property for Flow.
106 </td>
107 </tr>
108<tr>
109 <td width="15%" align="right" valign="top" class="summary">
110 <span class="summary-type">&nbsp;</span>
111 </td><td class="summary">
112 <a href="oauth2client.appengine.CredentialsProperty-class.html" class="summary-name">CredentialsProperty</a><br />
113 App Engine datastore Property for Credentials.
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 <a href="oauth2client.appengine.StorageByKeyName-class.html" class="summary-name">StorageByKeyName</a><br />
121 Store and retrieve a single credential to and from
122the App Engine datastore.
123 </td>
124 </tr>
125<tr>
126 <td width="15%" align="right" valign="top" class="summary">
127 <span class="summary-type">&nbsp;</span>
128 </td><td class="summary">
129 <a href="oauth2client.appengine.CredentialsModel-class.html" class="summary-name">CredentialsModel</a><br />
130 Storage for OAuth 2.0 Credentials
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 <a href="oauth2client.appengine.OAuth2Decorator-class.html" class="summary-name">OAuth2Decorator</a><br />
138 Utility for making OAuth 2.0 easier.
139 </td>
140 </tr>
141<tr>
142 <td width="15%" align="right" valign="top" class="summary">
143 <span class="summary-type">&nbsp;</span>
144 </td><td class="summary">
145 <a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html" class="summary-name">OAuth2DecoratorFromClientSecrets</a><br />
146 An OAuth2Decorator that builds from a clientsecrets file.
147 </td>
148 </tr>
149<tr>
150 <td width="15%" align="right" valign="top" class="summary">
151 <span class="summary-type">&nbsp;</span>
152 </td><td class="summary">
153 <a href="oauth2client.appengine.OAuth2Handler-class.html" class="summary-name">OAuth2Handler</a><br />
154 Handler for the redirect_uri of the OAuth 2.0 dance.
155 </td>
156 </tr>
157</table>
158<!-- ==================== FUNCTIONS ==================== -->
159<a name="section-Functions"></a>
160<table class="summary" border="1" cellpadding="3"
161 cellspacing="0" width="100%" bgcolor="white">
162<tr bgcolor="#70b0f0" class="table-header">
163 <td colspan="2" class="table-header">
164 <table border="0" cellpadding="0" cellspacing="0" width="100%">
165 <tr valign="top">
166 <td align="left"><span class="table-header">Functions</span></td>
167 <td align="right" valign="top"
168 ><span class="options">[<a href="#section-Functions"
169 class="privatelink" onclick="toggle_private();"
170 >hide private</a>]</span></td>
171 </tr>
172 </table>
173 </td>
174</tr>
175<tr>
176 <td width="15%" align="right" valign="top" class="summary">
177 <span class="summary-type">&nbsp;</span>
178 </td><td class="summary">
179 <table width="100%" cellpadding="0" cellspacing="0" border="0">
180 <tr>
181 <td><span class="summary-sig"><a href="oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets" class="summary-sig-name">oauth2decorator_from_clientsecrets</a>(<span class="summary-sig-arg">filename</span>,
182 <span class="summary-sig-arg">scope</span>,
Joe Gregoriofa08c2e2012-07-23 16:52:03 -0400183 <span class="summary-sig-arg">message</span>=<span class="summary-sig-default">None</span>,
184 <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400185 Creates an OAuth2Decorator populated from a clientsecrets file.</td>
186 <td align="right" valign="top">
187 <span class="codelink"><a href="oauth2client.appengine-pysrc.html#oauth2decorator_from_clientsecrets">source&nbsp;code</a></span>
188
189 </td>
190 </tr>
191 </table>
192
193 </td>
194 </tr>
195<tr>
196 <td width="15%" align="right" valign="top" class="summary">
197 <span class="summary-type">&nbsp;</span>
198 </td><td class="summary">
199 <table width="100%" cellpadding="0" cellspacing="0" border="0">
200 <tr>
201 <td><span class="summary-sig"><a name="main"></a><span class="summary-sig-name">main</span>()</span></td>
202 <td align="right" valign="top">
203 <span class="codelink"><a href="oauth2client.appengine-pysrc.html#main">source&nbsp;code</a></span>
204
205 </td>
206 </tr>
207 </table>
208
209 </td>
210 </tr>
211</table>
212<!-- ==================== VARIABLES ==================== -->
213<a name="section-Variables"></a>
214<table class="summary" border="1" cellpadding="3"
215 cellspacing="0" width="100%" bgcolor="white">
216<tr bgcolor="#70b0f0" class="table-header">
217 <td colspan="2" class="table-header">
218 <table border="0" cellpadding="0" cellspacing="0" width="100%">
219 <tr valign="top">
220 <td align="left"><span class="table-header">Variables</span></td>
221 <td align="right" valign="top"
222 ><span class="options">[<a href="#section-Variables"
223 class="privatelink" onclick="toggle_private();"
224 >hide private</a>]</span></td>
225 </tr>
226 </table>
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">
Joe Gregorioe7a0c472012-07-12 11:46:04 -0400233 <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
234 </td>
235 </tr>
236<tr>
237 <td width="15%" align="right" valign="top" class="summary">
238 <span class="summary-type">&nbsp;</span>
239 </td><td class="summary">
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400240 <a name="OAUTH2CLIENT_NAMESPACE"></a><span class="summary-name">OAUTH2CLIENT_NAMESPACE</span> = <code title="'oauth2client#ns'"><code class="variable-quote">'</code><code class="variable-string">oauth2client#ns</code><code class="variable-quote">'</code></code>
241 </td>
242 </tr>
243<tr>
244 <td width="15%" align="right" valign="top" class="summary">
245 <span class="summary-type">&nbsp;</span>
246 </td><td class="summary">
247 <a href="oauth2client.appengine-module.html#application" class="summary-name">application</a> = <code title="webapp.WSGIApplication([('/oauth2callback', OAuth2Handler)])">webapp.WSGIApplication([('/oauth2callback', OAut<code class="variable-ellipsis">...</code></code>
248 </td>
249 </tr>
250<tr>
251 <td width="15%" align="right" valign="top" class="summary">
252 <span class="summary-type">&nbsp;</span>
253 </td><td class="summary">
254 <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'oauth2client'"><code class="variable-quote">'</code><code class="variable-string">oauth2client</code><code class="variable-quote">'</code></code>
255 </td>
256 </tr>
257</table>
258<!-- ==================== FUNCTION DETAILS ==================== -->
259<a name="section-FunctionDetails"></a>
260<table class="details" border="1" cellpadding="3"
261 cellspacing="0" width="100%" bgcolor="white">
262<tr bgcolor="#70b0f0" class="table-header">
263 <td colspan="2" class="table-header">
264 <table border="0" cellpadding="0" cellspacing="0" width="100%">
265 <tr valign="top">
266 <td align="left"><span class="table-header">Function Details</span></td>
267 <td align="right" valign="top"
268 ><span class="options">[<a href="#section-FunctionDetails"
269 class="privatelink" onclick="toggle_private();"
270 >hide private</a>]</span></td>
271 </tr>
272 </table>
273 </td>
274</tr>
275</table>
276<a name="oauth2decorator_from_clientsecrets"></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>
283 <h3 class="epydoc"><span class="sig"><span class="sig-name">oauth2decorator_from_clientsecrets</span>(<span class="sig-arg">filename</span>,
284 <span class="sig-arg">scope</span>,
Joe Gregoriofa08c2e2012-07-23 16:52:03 -0400285 <span class="sig-arg">message</span>=<span class="sig-default">None</span>,
286 <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400287 </h3>
288 </td><td align="right" valign="top"
289 ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#oauth2decorator_from_clientsecrets">source&nbsp;code</a></span>&nbsp;
290 </td>
291 </tr></table>
292
293 <pre class="literalblock">
294Creates an OAuth2Decorator populated from a clientsecrets file.
295
296Args:
297 filename: string, File name of client secrets.
298 scope: string or list of strings, scope(s) of the credentials being
299 requested.
300 message: string, A friendly string to display to the user if the
301 clientsecrets file is missing or invalid. The message may contain HTML and
302 will be presented on the web interface for any method that uses the
303 decorator.
Joe Gregoriofa08c2e2012-07-23 16:52:03 -0400304 cache: An optional cache service client that implements get() and set()
305 methods. See clientsecrets.loadfile() for details.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400306
307Returns: An OAuth2Decorator
308
309</pre>
310 <dl class="fields">
311 </dl>
312</td></tr></table>
313</div>
314<br />
315<!-- ==================== VARIABLES DETAILS ==================== -->
316<a name="section-VariablesDetails"></a>
317<table class="details" border="1" cellpadding="3"
318 cellspacing="0" width="100%" bgcolor="white">
319<tr bgcolor="#70b0f0" class="table-header">
320 <td colspan="2" class="table-header">
321 <table border="0" cellpadding="0" cellspacing="0" width="100%">
322 <tr valign="top">
323 <td align="left"><span class="table-header">Variables Details</span></td>
324 <td align="right" valign="top"
325 ><span class="options">[<a href="#section-VariablesDetails"
326 class="privatelink" onclick="toggle_private();"
327 >hide private</a>]</span></td>
328 </tr>
329 </table>
330 </td>
331</tr>
332</table>
333<a name="application"></a>
334<div>
335<table class="details" border="1" cellpadding="3"
336 cellspacing="0" width="100%" bgcolor="white">
337<tr><td>
338 <h3 class="epydoc">application</h3>
339
340 <dl class="fields">
341 </dl>
342 <dl class="fields">
343 <dt>Value:</dt>
344 <dd><table><tr><td><pre class="variable">
345webapp.WSGIApplication([('/oauth2callback', OAuth2Handler)])
346</pre></td></tr></table>
347</dd>
348 </dl>
349</td></tr></table>
350</div>
351<br />
352<!-- ==================== NAVIGATION BAR ==================== -->
353<table class="navbar" border="0" width="100%" cellpadding="0"
354 bgcolor="#a0c0ff" cellspacing="0">
355 <tr valign="middle">
356
357 <!-- Tree link -->
358 <th>&nbsp;&nbsp;&nbsp;<a
359 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
360
361 <!-- Index link -->
362 <th>&nbsp;&nbsp;&nbsp;<a
363 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
364
365 <!-- Help link -->
366 <th>&nbsp;&nbsp;&nbsp;<a
367 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
368
369 <th class="navbar" width="100%"></th>
370 </tr>
371</table>
372<table border="0" cellpadding="0" cellspacing="0" width="100%%">
373 <tr>
374 <td align="left" class="footer">
Joe Gregorioad8013f2012-08-03 08:44:02 -0400375 Generated by Epydoc 3.0.1 on Fri Aug 3 07:38:25 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400376 </td>
377 <td align="right" class="footer">
378 <a target="mainFrame" href="http://epydoc.sourceforge.net"
379 >http://epydoc.sourceforge.net</a>
380 </td>
381 </tr>
382</table>
383
384<script type="text/javascript">
385 <!--
386 // Private objects are initially displayed (because if
387 // javascript is turned off then we want them to be
388 // visible); but by default, we want to hide them. So hide
389 // them unless we have a cookie that says to show them.
390 checkCookie();
391 // -->
392</script>
393</body>
394</html>