GAE:python代码,用于检查i';m在dev_appserver上或部署到appspot

GAE:python代码,用于检查i';m在dev_appserver上或部署到appspot,python,google-app-engine,oauth,dev-appserver,Python,Google App Engine,Oauth,Dev Appserver,我的GAE应用程序使用OAUTH 2。目前,我在http://localhost:8081/oauth2callback和myapp.appspot.com/oauth2callback取决于是使用dev_appserver进行本地测试,还是部署到appspot.com 是否有一些代码(例如,使用os.environ)可用于实现自动化 谢谢 您可以使用os.environ['SERVER\u name']获取当前域名 您还可以按版本名称检查此项: import os if os.environ[

我的GAE应用程序使用OAUTH 2。目前,我在
http://localhost:8081/oauth2callback
myapp.appspot.com/oauth2callback
取决于是使用
dev_appserver进行本地测试,还是部署到appspot.com

是否有一些代码(例如,使用
os.environ
)可用于实现自动化


谢谢

您可以使用
os.environ['SERVER\u name']
获取当前域名

您还可以按版本名称检查此项:

import os
if os.environ['APPLICATION_ID'].startswith('dev'):
  pass  # it's localhost
else:
  pass  # it's uploaded on gae
如果使用webapp2,最好使用
self.uri\u for('callback-uri-name',\u full=True)
来构建回调uri

你的路线上有这样的东西

app = webapp2.WSGIApplication([
    webapp2.Route(r'/oauth/callback', handler='oauth.CallbackHandler', name='callback-uri-name'),
])
然后,如果你调用self.uri('callback-uri-name',full=True)
你会得到类似于
http://localhost:8080/oauth/callback
http://app-id.appspot.com/oauth/callback


更多信息:

谢谢,这就成功了。你能详细说明一下用
self.uri\u for('callback-uri-name',\u full=True)
构建回调uri的方法吗?或者提供更多信息的链接?我使用gdata客户端(用于GoogleContactsAPI),它只是将uri作为输入参数。谢谢!一条评论:我必须删除hander的引号,即
app=webapp2.WSGIApplication([webapp2.Route(r'/oauth/callback',handler=oauth.CallbackHandler,name='callback-uri-name'),])
我如何检查是否使用JAVA?