问题
My GAE app uses OAUTH 2. Currently, I manually switch the redirect_uri
between http://localhost:8081/oauth2callback
and myapp.appspot.com/oauth2callback
depending on whether do local testing with dev_appserver
or if I deploy to appspot.com.
Is there some code (e.g. using os.environ
) that I can use to automate this?
Thanks!
回答1:
You can get you current domain name with os.environ['SERVER_NAME']
.
You also can check this by version name:
import os
if os.environ['APPLICATION_ID'].startswith('dev'):
pass # it's localhost
else:
pass # it's uploaded on gae
Will be better to use self.uri_for('callback-uri-name', _full=True)
for building callback uri if you use webapp2.
You have something like this in your routes.
app = webapp2.WSGIApplication([
webapp2.Route(r'/oauth/callback', handler='oauth.CallbackHandler', name='callback-uri-name'),
])
Then, if you'll call self.uri_for('callback-uri-name', _full=True)
you'll get something like http://localhost:8080/oauth/callback
or http://app-id.appspot.com/oauth/callback
.
For more information: http://webapp-improved.appspot.com/guide/routing.html#building-uris
来源:https://stackoverflow.com/questions/15741711/gae-python-code-to-check-if-im-on-dev-appserver-or-deployed-to-appspot