Google Cloud - неверный идентификатор проекта используется с другого адреса электронной почты - PullRequest
0 голосов
/ 24 июня 2018

Несмотря на выполнение gcloud auth application-default login и gcloud config set core/project CORRECT_PROJECT_ID, в проекте по умолчанию используется неверный идентификатор проекта:

gcloud config list
[core]
account = CORRECT_EMAIL
disable_usage_reporting = True
project = CORRECT_PROJECT_ID

Your active configuration is: [default]

Я могу успешно запустить пример кода из учебного пособия (ниже), если я запускаю в терминале export GOOGLE_APPLICATION_CREDENTIALS = "[PATH]"

Однако я не хотел делать это каждый раз, поэтому я выполнил команду:

gcloud auth application-default login

Это открыло браузер со списком моих учетных записей Gmail, и, хотя я выбрал правильную учетную запись, окно успеха перешло к другой учетной записи Gmail. Тогда я попробовал это в окне инкогнито, и это сработало.

Однако, запуск npm привел к следующей ошибке:

ERROR: { Error: 7 PERMISSION_DENIED: Cloud Natural Language API has not been used in project WRONG_PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/language.googleapis.com/overview?project=WRONG_PROJECT_ID then retry.

Затем я запустил gcloud config set core/project CORRECT_PROJECT_ID и получил сообщение Updated property [core/project].

Когда я запускаю npm start, я получаю то же сообщение:

ERROR: { Error: 7 PERMISSION_DENIED: Cloud Natural Language API has not been used in project WRONG_PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/language.googleapis.com/overview?project=WRONG_PROJECT_ID then retry.

Я попытался gcloud auth login и получил следующее сообщение (после аутентификации в окне инкогнито):

WARNING: `gcloud auth login` no longer writes application default credentials.
If you need to use ADC, see:
  gcloud auth application-default --help

You are now logged in as [CORRECT EMAIL ADDRESS].
Your current project is [CORRECT_PROJECT_ID].  You can change this setting by running:
  $ gcloud config set project PROJECT_ID

1 Ответ

0 голосов
/ 03 июля 2018

У меня есть несколько предложений, которые могут исправить это поведение.

1) Очистите кеш браузера и файлы cookie. Затем запустите «gcloud auth application-default login»

2) Попробуйте переустановить набор инструментов gcloud.

3) Попробуйте сначала сбросить проект в вашей конфигурации, а затем установите проект на правильный проект. т.е.

gcloud config unset project WRONG_PROJECT_ID
gcloud config set project CORRECT_PROJECT_ID

4) Проверьте переменную окружения «CLOUDSDK_CORE_PROJECT» . Установите правильный проект, если это еще не сделано.

5) Попробуйте заново запустить «gcloud init»

6) Учетные данные приложения по умолчанию можно найти в

Linux: ~ / .config / gcloud / application_default_credentials.json

Windows: C: \ Users \% username% \ AppData \ Roaming \ gcloud \ credentials

Вы можете удалить файл и восстановить его, используя команды, которые вы упомянули в своем вопросе, такие как «gcloud auth default-credentials login»

Нам нужно найти, откуда npm start получает свои учетные данные. Как только мы это выясним, мы сможем выяснить, как это изменить, и понять, почему он там выглядит и т.д.

Вы можете найти файл конфигурации, чтобы увидеть, где он ищет учетные данные? Npm запускает всю команду? Я не слишком знаком с Node JS. Я не уверен, почему он пытается использовать API на естественном языке. Вы также упомянули учебник, но я думаю, что вы, возможно, забыли включить его в свой вопрос. На какой учебник вы ссылаетесь?

...