在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
)吗?
答案 0 :(得分:0)
问题在于即使我使用了
source ~/.bash_profile
刷新我的environemnt变量,echo
命令向我显示它们确实已更新,显然我需要重启我的终端(使用Mac OSX
),因为它们也会更新为{{1} }和sbt
。
我不确定为什么会这样,如果这是Scala
特定的,但现在我设法验证并与服务器通信。
我设法通过使用Datastore Server的本地安装来解决问题,并继续遇到同样的问题。