I am having trouble getting the Quickstart working properly. I am new to Python and GAE and I am not a full-time programmmer, but have developed before. However, I have Python 2.7 and GAE properly installed (win7), but the Quickstart does not tell me where in my app directory to put the generated "session.secret" file. I put it in the app root "mirror-quickstart-python" folder. When I try to run the app on the dev webserver via the GAE Launcher, it throws errors (log shown below).
I have successfully deployed another sample app (guestbook), here: http://smlqadtest.appspot.com/ So I think I am close. To get this far in Python, I had to learn about Jinja2, pip, distribute_setup.py, and a bunch of other stuff. It looks like it needs PIL, too, but on Win64 there seems to be issues witch lead me down a rathole. But I am not sure I need that. Anyway, I'd love some help on getting this going! Thanks! Scott
=========GAE Launcher Log Console Output===========
2013-07-07 22:47:50 Running command: "['C:\\Python27\\python.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=9080', '--admin_port=8001', 'C:\\Users\\sml\\Documents\\GitHub\\mirror-quickstart-python']"
INFO 2013-07-07 22:47:53,789 devappserver2.py:528] Skipping SDK update check.
WARNING 2013-07-07 22:47:53,808 api_server.py:314] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO 2013-07-07 22:47:53,821 api_server.py:138] Starting API server at: http://localhost:61560
INFO 2013-07-07 22:47:53,825 dispatcher.py:164] Starting server "default" running at: http://localhost:9080
INFO 2013-07-07 22:47:53,831 admin_server.py:117] Starting admin server at: http://localhost:8001
INFO 2013-07-08 05:48:09,594 discovery.py:190] URL being requested: https://www.googleapis.com/discovery/v1/apis/mirror/v1/rest?userIp=127.0.0.1
INFO 2013-07-07 22:48:11,641 server.py:593] default: "GET / HTTP/1.1" 302 -
ERROR 2013-07-08 05:48:11,651 webapp2.py:1528] Property "client_id" is not configured.
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "C:\Users\sml\Documents\GitHub\mirror-quickstart-python\oauth\handler.py", line 55, in get
flow = self.create_oauth_flow()
File "C:\Users\sml\Documents\GitHub\mirror-quickstart-python\oauth\handler.py", line 42, in create_oauth_flow
flow = flow_from_clientsecrets('client_secrets.json', scope=SCOPES)
File "lib\oauth2client\util.py", line 128, in positional_wrapper
return wrapped(*args, **kwargs)
File "lib\oauth2client\client.py", line 1343, in flow_from_clientsecrets
client_type, client_info = clientsecrets.loadfile(filename, cache=cache)
File "lib\oauth2client\clientsecrets.py", line 145, in loadfile
return _loadfile(filename)
File "lib\oauth2client\clientsecrets.py", line 108, in _loadfile
return _validate_clientsecrets(obj)
File "lib\oauth2client\clientsecrets.py", line 85, in _validate_clientsecrets
'Property "%s" is not configured.' % prop_name)
InvalidClientSecretsError: Property "client_id" is not configured.
INFO 2013-07-07 22:48:11,673 server.py:593] default: "GET /auth HTTP/1.1" 500 228
INFO 2013-07-07 22:48:11,786 server.py:593] default: "GET /favicon.ico HTTP/1.1" 404 154
=============================================