GAE:python代码,用于检查我是在dev_appserver上还是部署到appspot

pfa*_*lke 4 python google-app-engine oauth dev-appserver

我的GAE应用使用OAuth 2.目前,我的手动切换redirect_uri之间http://localhost:8081/oauth2callback,并myapp.appspot.com/oauth2callback根据是否做本地测试dev_appserver,或者如果我部署到appspot.com.

是否有一些代码(例如使用os.environ)可用于自动执行此操作?

谢谢!

Dmy*_*hyi 6

您可以通过以下方式获取当前域名os.environ['SERVER_NAME'].

您还可以通过版本名称进行检查:

import os
if os.environ['APPLICATION_ID'].startswith('dev'):
  pass  # it's localhost
else:
  pass  # it's uploaded on gae
Run Code Online (Sandbox Code Playgroud)

self.uri_for('callback-uri-name', _full=True)如果你使用webapp2,将更好地用于构建回调uri.

您的路线中有这样的东西.

app = webapp2.WSGIApplication([
    webapp2.Route(r'/oauth/callback', handler='oauth.CallbackHandler', name='callback-uri-name'),
])
Run Code Online (Sandbox Code Playgroud)

然后,如果你会打电话给self.uri_for('callback-uri-name', _full=True)你就会得到这样http://localhost:8080/oauth/callbackhttp://app-id.appspot.com/oauth/callback.

有关更多信息,请访问:http://webapp-improved.appspot.com/guide/routing.html#building-uris