【问题标题】:Token error on getting started tutorial with Node.js and Google Cloud datastoreNode.js 和 Google Cloud 数据存储入门教程中的令牌错误
【发布时间】:2015-09-25 21:05:03
【问题描述】:

我正在使用 google appengine、node.js 和 socket.io 构建一个 webapp,我目前正在尝试设置一个 google 计算实例以使用这个 tutorial 之后的 google 云数据存储 api。到目前为止,我已经完成了第 1 步和第 2 步,但是在本地运行下载的 adams.js 文件时,我得到了这个:

Error: No access or refresh token is set.

我试过的东西:

  • gcloud auth login (这会将我登录到谷歌,但不会在本地设置我的令牌)
  • 更改我将 DATASTORE_SERVICE_ACCOUNT 和 DATASTORE_PRIVATE_KEY_FILE 值导出为字符串、纯文本等的方式。
  • 在出错前将我的凭据记录在行中(我肯定缺少令牌)
  • 创建新的服务帐户并再次执行密钥创建步骤
  • 跑了 curl "http://metadata/computeMetadata/v1/instance/service-accounts/default/token" -D "Metadata-Flavor: Google" 以获取更多信息。

那个命令给了我这个:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

所以我肯定错过了一个令牌,但由于某种原因,我无法弄清楚我应该如何得到它。或者当我的应用程序部署并想要在线访问 API 时,我需要将它存储在哪里。感觉这应该是一件很容易找到的事情,但由于某种原因,我正在阅读的所有文档都让我陷入困境。任何帮助都会很棒。

【问题讨论】:

  • 您能否通过 SSH 连接到您的 Compute Engine 实例并尝试运行: curl "metadata/computeMetadata/v1/instance/service-accounts/default/…" -H "Metadata-Flavor: Google"(使用“-H”而不是“-D”)
  • 当然,这给了我这个:https://www.googleapis.com/auth/datastorehttps://www.googleapis.com/auth/userinfo.email
  • 很好——您的 GCE 实例设置了正确的范围。因此,您不需要环境变量(您可以使用unset DATASTORE_SERVICE_ACCOUNTunset DATASTORE_PRIVATE_KEY_FILE)。您在 GCE 实例上运行 adams.js 演示所使用的命令是什么,您得到了什么错误?
  • @EdDavisson 哇,这正好解释了我的问题,谢谢!我以为我应该在本地运行这段代码——而不是从 GCE 实例中运行。这为我解决了一个巨大的问题。它现在正在工作。
  • 很高兴它有帮助!我在答案中总结了这一点。

标签: node.js google-app-engine google-compute-engine access-token google-cloud-datastore


【解决方案1】:

如果您的代码在 Google 计算实例上运行,并且该实例具有正确的范围,则您无需设置任何环境变量。

您可以通过查看开发者控制台中的实例或询问元数据服务器来确认范围:

curl http://metadata/computeMetadata/v1/instance/service-accounts/default/scopes -H "Metadata-Flavor: Google"

要使用 Cloud Datastore,datastoreuserinfo.email 范围都必须存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2021-12-18
    相关资源
    最近更新 更多