【问题标题】:Unable to authorize Google Vision API无法授权 Google Vision API
【发布时间】:2019-01-07 22:02:17
【问题描述】:

由于授权问题,我无法调用 Google Vision API。异常告诉我设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。

Google 解释说您必须这样设置环境变量: https://cloud.google.com/docs/authentication/production

我生成了我的凭据(在 .json 文件中)并且我已经手动将我的系统环境变量设置为:GOOGLE_APPLICATION_CREDENTIALS=C:\Users\[username]\Downloads\[FILE_NAME].json

以前,我有一个类似的方法。

有人对我可以尝试做的事情有想法吗?

【问题讨论】:

  • 这个命令显示什么?:echo %GOOGLE_APPLICATION_CREDENTIALS%
  • 我之前的命令应该显示您的凭据的确切路径。验证您可以执行:type %GOOGLE_APPLICATION_CREDENTIALS% 并且将显示您的服务帐户 json 文件的内容。
  • "echo" 显示正确的路径,"type" 显示打印出的 json 文件。一切如预期

标签: google-cloud-platform


【解决方案1】:

我了解到您在进行身份验证时遇到 403 错误。我能够复制并修复它。我遵循了有关Cloud Storage Client Libraries 的文档,它对我有用。在此过程之前,我遇到了错误 403,之后 Vision API 正常执行。

这里有 2 个可能的问题,要么是 .json 文件不正确,要么是您以错误的方式加载文件的路径。尝试使用命令中的" 执行导出命令,像这样"[PATH/TO/JSON]"

这就是我执行这些命令的方式并且它起作用了:

  • export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json" 将.json文件的路径导出为控制台中的变量
  • echo $GOOGLE_APPLICATION_CREDENTIALS 如果控制台上打印了正确的路径,那么 .json 密钥应该已经正确设置了

【讨论】:

  • 我的做法是手动添加环境变量(系统变量)。使用“echo”和“type”,我已经验证它指向正确的路径并且它在文件中保存了正确的信息。出于某种原因,它不接受 json 文件,但我不清楚原因。
  • @IvovanLeeuwen 首先,尝试验证 JSON 文件的内容,看看 JSON 文件的结构是否正确。如果 JSON 文件看起来不错,我们可以将其作为根本原因排除。如果是这种情况,我建议您重新开始并使用 Google Cloud Shell 再次按照文档教程进行操作,看看您是否可以让它在那里工作。如果您仍然遇到一些问题,我可以向您建议的唯一合乎逻辑的解决方案是在 Google Cloud Platform Support 中打开一个案例,因为很难从这里深入调查问题。
  • 好的,我会采用这种方法。感谢您的帮助
猜你喜欢
  • 2016-06-10
  • 1970-01-01
  • 2016-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 2020-09-24
相关资源
最近更新 更多