python - GAE : python code to check if i'm on dev_appserver or deployed to appspot

标签 python google-app-engine oauth dev-appserver

我的 GAE 应用使用 OAUTH 2。目前,我在 http://localhost:8081/oauth2callbackmyapp.appspot.com 之间手动切换 redirect_uri/oauth2callback 取决于是使用 dev_appserver 进行本地测试还是部署到 appspot.com。

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

谢谢!

最佳答案

您可以使用 os.environ['SERVER_NAME'] 获取当前域名。

您也可以通过版本名称来检查:

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

如果您使用 webapp2,最好使用 self.uri_for('callback-uri-name', _full=True) 来构建回调 uri。

你的 route 有这样的东西。

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

然后,如果你调用 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

关于python - GAE : python code to check if i'm on dev_appserver or deployed to appspot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15741711/

相关文章:

java - 获取 401 访问 http ://localhost:8080/oauth/token

java - SikuliX 1.0rc3 r903 type() 使用普通数字代替小键盘

python - 过滤掉具有公共(public)字段且至少有一个满足条件的行

python - 使用静态方法的GAE/P交易

api - 推特 API 问题

api - 多个 API 的授权服务器

Python 类 __div__ 问题

python - 了解 Pool 中已完成多少任务

google-app-engine - Google App Engine 供私有(private)使用?

python - GAE/P : Implementing Exponential backoff for RPC calls