1

Я создаю webapp с google appengine, node.js и socket.io, и в настоящее время я пытаюсь настроить экземпляр вычисления Google для использования облачное хранилище данных api после этого tutorial. До сих пор я завершенные шаги 1 и 2, но при запуске загруженных adams.js файл локально, я получаю это:Ошибка Token при запуске учебника с Node.js и хранилищем данных Google Cloud

Error: No access or refresh token is set. 

Материал Я пробовал:

  • gcloud авт Войти (это входит меня в гугле, но не устанавливает свой маркер локально)
  • изменить способ я экспортирующей свои DATASTORE_SERVICE_ACCOUNT и DATASTORE_PRIVATE_KEY_FILE значения, как строки, простой текст и т.д.
  • регистрации мои документы на линии BEF рудные ошибку (я определенно отсутствует маркер)
  • создание новой учетной записи службы и проходящие через основные шаги создания снова
  • побежал завиток «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 онлайн. Похоже, это должно быть очень легко найти, но по какой-то причине вся документация, которую я читаю, ведет меня в стены. Любая помощь была бы потрясающей.

+0

Вы можете SSH в экземпляр Compute Engine и попробуйте запустить: завиток "HTTP: // метаданные/computeMetadata/v1/экземпляра/сервис-счета/по умолчанию/прицелы" -H "Metadata-Flavor: Google" (это с "-Н" вместо "-D") –

+0

Конечно, это дает мне это: 'https: // www.googleapis.com/авт/datastore' ' https: //www.googleapis .com/auth/userinfo.email' – Zebbeni

+0

Это хорошо - ваш экземпляр GCE настроен с правильными областями. Из-за этого вам не нужны переменные среды (вы можете «отключить DATASTORE_SERVICE_ACCOUNT» и «unset DATASTORE_PRIVATE_KEY_FILE'). Какую команду вы используете для запуска демонстрации adams.js на вашем экземпляре GCE и какую ошибку вы возвращаете? –

ответ

2

Если ваш код запущен на экземпляре Google Compute, а в экземпляре указаны правильные области, вам не нужно устанавливать какие-либо переменные среды.

Вы можете подтвердить областей, глядя на экземпляр в консоли разработчика или попросив сервер метаданных:

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

Для использования Виртуального Datastore, оба datastore и userinfo.email прицелы должны присутствовать.