GAE检测localhost或appspot上的运行位置

时间:2013-12-30 16:15:35

标签: java google-app-engine

我有GAE申请。它使用Oauth 2.0协议。我目前使用Java库。 目前,我手动切换重定向网址。

当我在localhost上测试时,我使用localhost:8888/oauth2callback 当我部署应用时,我设置了example.appspot.com/oauth2callback.

那么,如果应用程序在localhost上运行或已部署,我该如何检测?

2 个答案:

答案 0 :(得分:4)

根据documentation,您可以执行以下操作

您可以检查系统属性com.google.appengine.runtime.environment的值,以确定它是“生产”还是“开发”。

来自docs的示例代码:

if (SystemProperty.environment.value() ==
SystemProperty.Environment.Value.Production) {
// The app is running on App Engine...
}

等等。

在Python方面,请查看以下documentation代码段:

  • SERVER_SOFTWARE:在开发Web服务器中,此值为“Development / X.Y”,其中“X.Y”是运行时的版本。在App Engine上运行时,此值为“Google App Engine / X.Y.Z”。

答案 1 :(得分:0)

您可以使用oAuthService方法来检测localhost环境

OAuth for Java Overview

  

[...]   在本地开发服务器上,oauth.getCurrentUser()始终返回   一个用户对象,其电子邮件设置为“example@example.com”并设置了用户ID   无论是否发出有效的OAuth请求,都为0。   [...]