gcloud ml 语言请求的身份验证范围不足
gcloud ml language Request had insufficient authentication scopes
对于一个相对较小的学术研究项目,我正在尝试使用 Google Cloud Natural Language API。
据我了解,Authentication Overview, it looks like an API key 是最好和最简单的身份验证方法,而不是服务帐户或用户帐户。
Creating the key 很简单。但现在我一直在研究如何在 Google 云计算引擎上的 Ubuntu VM 实例上将它与 gcloud
命令结合使用。
当我尝试 运行 Natural Language Quickstart Guide 上的简单示例时,出现此错误:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'."
ERROR: (gcloud.ml.language.analyze-entities) PERMISSION_DENIED:
Request had insufficient authentication scopes.
我看到的与此错误相关的文档和问答与服务帐户或用户帐户有关,但我尝试只使用 "simple" API 键。
使用 API 键的文档显示了如何通过 REST 执行此操作。但是,现在作为一个 "quick" 测试来查看我是否有自然语言 API 工作,我只想在命令行上用 gcloud
做一个简单的测试。我查看了 gcloud documentation,但找不到任何关于指定 API 密钥字符串的信息。
如何使用 运行 使用 gcloud
执行上述命令并使用我的 API 密钥进行身份验证?
如果这个 API 密钥更麻烦,我可能会考虑切换到服务帐户。
任何帮助将不胜感激...
如果您使用的是 GCE 虚拟机,那么向云 API 进行身份验证的最简单方法是使用虚拟机的服务帐户。创建 VM 时,您可以指定要为服务帐户授权的范围。最简单的解决方案是预配具有 Cloud Platform 范围的 VM。使用 gcloud
gcloud --project=$PROJECT compute instances create $VM --zone=$ZONE --machine-type=$MACHINE --scopes=cloud-platform
通过以下方式实现此功能:
来自 Google 云控制台:
计算引擎 -> 虚拟机实例
单击现有 VM 的名称,这将显示 VM 实例详细信息页面。单击页面顶部附近的 "Edit" link。
然后修改 Cloud API 访问范围以允许完全访问所有 Cloud API。
对于一个相对较小的学术研究项目,我正在尝试使用 Google Cloud Natural Language API。
据我了解,Authentication Overview, it looks like an API key 是最好和最简单的身份验证方法,而不是服务帐户或用户帐户。
Creating the key 很简单。但现在我一直在研究如何在 Google 云计算引擎上的 Ubuntu VM 实例上将它与 gcloud
命令结合使用。
当我尝试 运行 Natural Language Quickstart Guide 上的简单示例时,出现此错误:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'."
ERROR: (gcloud.ml.language.analyze-entities) PERMISSION_DENIED: Request had insufficient authentication scopes.
我看到的与此错误相关的文档和问答与服务帐户或用户帐户有关,但我尝试只使用 "simple" API 键。
使用 API 键的文档显示了如何通过 REST 执行此操作。但是,现在作为一个 "quick" 测试来查看我是否有自然语言 API 工作,我只想在命令行上用 gcloud
做一个简单的测试。我查看了 gcloud documentation,但找不到任何关于指定 API 密钥字符串的信息。
如何使用 运行 使用 gcloud
执行上述命令并使用我的 API 密钥进行身份验证?
如果这个 API 密钥更麻烦,我可能会考虑切换到服务帐户。
任何帮助将不胜感激...
如果您使用的是 GCE 虚拟机,那么向云 API 进行身份验证的最简单方法是使用虚拟机的服务帐户。创建 VM 时,您可以指定要为服务帐户授权的范围。最简单的解决方案是预配具有 Cloud Platform 范围的 VM。使用 gcloud
gcloud --project=$PROJECT compute instances create $VM --zone=$ZONE --machine-type=$MACHINE --scopes=cloud-platform
通过以下方式实现此功能:
来自 Google 云控制台: 计算引擎 -> 虚拟机实例
单击现有 VM 的名称,这将显示 VM 实例详细信息页面。单击页面顶部附近的 "Edit" link。
然后修改 Cloud API 访问范围以允许完全访问所有 Cloud API。