代码之家  ›  专栏  ›  技术社区  ›  Ron I

Google Cloud-从不同的电子邮件地址使用了错误的项目id

  •  2
  • Ron I  · 技术社区  · 7 年前

    尽管跑步 gcloud auth application-default login gcloud config set core/project CORRECT_PROJECT_ID 项目将默认为不正确的项目id:

    gcloud config list
    [core]
    account = CORRECT_EMAIL
    disable_usage_reporting = True
    project = CORRECT_PROJECT_ID
    
    Your active configuration is: [default]
    

    如果在终端中运行,我可以成功运行教程(如下)中的示例代码

    但是,我不想每次都这样做,所以我运行命令:

    gcloud auth application-default login
    

    这打开了一个浏览器,其中有我的gmail帐户列表,尽管我选择了正确的帐户,但成功窗口转到了另一个gmail帐户。所以我在一个隐蔽的窗户里试了一下,结果成功了。

    但是,运行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配置设置核心/项目正确的项目ID Updated property [core/project].

    当我运行npm start时,我得到相同的消息:

    错误:{错误:7权限被拒绝:以前未在项目错误的项目ID中使用云自然语言API,或者已禁用该API。通过访问https://console.developers.google.com/api/api/language.google apis.com/overview启用它?project=项目ID错误,然后重试。
    

    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 回复  |  直到 7 年前
        1
  •  1
  •   xavierc    7 年前

    我有一些建议可以纠正这种行为。

    1) 清除web浏览器缓存和Cookie。然后运行“gcloud auth application default login”

    3) 试试看 unsetting

    gcloud config unset project WRONG_PROJECT_ID
    gcloud config set project CORRECT_PROJECT_ID
    

    4) 检查 “CLOUDSDK_CORE_PROJECT” 环境变量。如果尚未设置,请将其设置为正确的项目。

    5) 尝试重新运行 “gcloud init”

    6) 您可以在中找到应用程序的默认凭据

    Windows:C:\用户\%username%\AppData\Roaming\gcloud\credentials

    您可以删除该文件,并使用问题中提到的命令(如gcloud auth default credentials login)重新生成该文件

    我们需要找到npm的起点是从哪里获得证书的。一旦我们搞清楚了,我们就可以弄清楚如何更改它,理解它为什么会出现在那里等。

    您是否能够找到配置文件以查看它在哪里查找凭据? npm启动整个命令了吗?我不太熟悉节点JS。我不知道它为什么要使用自然语言API。 你也提到了一个教程,但我想你可能忘了把它包括在你的问题中。你指的是哪个教程?