[GAE Java]:警告:不使用任何凭据

时间:2014-09-13 15:00:47

标签: java scala google-app-engine google-cloud-datastore

在Java API example中,他们使用Datastore

创建DatastoreHelper.getOptionsfromEnv

但这会产生警告

WARNING: Not using any credentials

并最终导致:

DatastoreException(null): beginTransaction 401

我将环境变量设置为以下内容:

export DATASTORE_DATASET={Project-ID}
export DATASTORE_HOST="https://www.googleapis.com/datastore/v1/datasets/{Project-ID}"
export DATASTORE_SERVICE_ACCOUNT="{email address}"
export DATASTORE_PRIVATE_KEY_FILE="{path to local p12 keyfile}"

但是当我试图查看凭据是什么时:

println("Datastore helper: " +DatastoreHelper.getOptionsfromEnv
  .dataset(datasetId).build().getCredential)

我得到null,可能会遗漏什么?

还有一种方法可以在项目中设置凭据(而不是使用getOptionsfromEnv)吗?

1 个答案:

答案 0 :(得分:0)

问题在于即使我使用了

source ~/.bash_profile

刷新我的environemnt变量,echo命令向我显示它们确实已更新,显然我需要重启我的终端(使用Mac OSX),因为它们也会更新为{{1} }和sbt

我不确定为什么会这样,如果这是Scala特定的,但现在我设法验证并与服务器通信。

我设法通过使用Datastore Server的本地安装来解决问题,并继续遇到同样的问题。