【问题标题】:Google cloud vision api- OCR谷歌云视觉API-OCR
【发布时间】:2018-04-05 06:05:42
【问题描述】:

我想使用谷歌云视觉 api 的图像文本检测 (OCR)。但我不知道如何从中获取订阅密钥以及如何在 C# 中进行身份验证和调用。有人可以告诉我一步一步的程序来做到这一点。顺便说一句,我很新。

【问题讨论】:

  • 您指的是哪个“订阅密钥”?您能否链接到您要关注的文档?您需要一个 Google Cloud Platform 项目,然后您可以创建一个服务帐户,为此下载 JSON,并将其用于身份验证。
  • 我创建了一个项目和服务帐户。我刚刚启用了云视觉 api。我可以得到相同的api密钥。什么是下载 json。我应该如何从 asp.net 验证和调用这些 api?
  • 不要专注于 API 密钥 - 这些天不鼓励他们。遵循cloud.google.com/docs/authentication/getting-started 的文档,它将向您展示如何下载与服务帐户关联的 JSON 身份验证文件,并设置适当的环境变量以供库获取。 (目前尚不清楚您使用的是哪个库 - 有多种选择,但我推荐 Google.Cloud.Vision.V1。)
  • 我想用订阅密钥来做。没有分步教程来指导。我只是,但我能找到一个
  • 请阅读cloud.google.com/vision/docs/reference/libraries,它提供了 C# 的快速入门。

标签: c# ocr google-cloud-vision


【解决方案1】:

我认为这个问题有点混乱,所以让我退后一步,尝试介绍使用 Cloud Vision API 时有关身份验证的最重要的事情。

首先,文档提供了关于如何使用 API 密钥或服务帐户authenticate to the Cloud Vision API 的非常清晰的解释。请记住,正如best practices for authentication in the Google Cloud Platform 中所述:

对于几乎所有情况,无论您是在本地开发还是在 生产应用程序,您应该使用服务帐户,而不是 用户帐户或 API 密钥

明确这一点,显然由您决定是使用 API 密钥(我理解这就是您在提到“订阅密钥”时所指的内容)还是服务帐户。以下是这两种身份验证方法可能与您相关的主要区别:

  • 服务帐户:它们更安全,是推荐的使用方法,并且可以与 API 客户端库很好且轻松地集成,从而让您在与 GCP API 交互时更加轻松。我强烈建议您使用服务帐户和惯用的客户端库
  • API 密钥:您应该遵循一组best practices for securely using them,它们不能(或者至少我不知道)与客户端库集成;因此,您需要直接调用 REST API,这比使用惯用的客户端库更复杂。

我希望我能够强调可用的替代身份验证方法之间的差异。那么让我们继续下一个主题,验证请求:

如果您使用 API 密钥,只需将 API 密钥附加到您要调用的 REST API method 即可,如下所示:

https://vision.googleapis.com/v1/images:annotate?key=YOUR_API_KEY

在这种情况下,你必须想办法在 C# 中发出 HTTP 请求、解析 JSON 响应等。

如果您使用的是服务帐户(我希望我在回答的第一部分中说服了您这样做),您需要关注these steps detailed in the documentation

  1. 为您的服务帐号下载 JSON 密钥。
  2. 在您机器的GOOGLE_APPLICATION_CREDENTIALS 环境变量中引用它。
  3. 按照this simple example 中的说明使用 C# 客户端库,或使用完整的文档参考了解有关如何使用此库的所有详细信息(Client Library documentationImageAnnotatorClient documentation)。

【讨论】:

  • 最后,除了答案本身,让我也与您分享 Stack Overflow 帮助中心的这个有用页面,它可以帮助您 ask a good question。请注意,在 Stack Overflow 中,我们喜欢的问题是展示了研究和开发工作,而不是类型请教我如何做到这一点与我分享一个教程来做到这一点我>。这肯定会帮助您为您的问题获得更好的答案;)
  • 感谢您的详细解释。现在我有一个问题 - 如果我在我的 mvc Web 应用程序中使用这个 惯用客户端库 并且当时我在生产服务器上发布该 Web 应用程序时,我需要使用该 json 创建一个环境变量我在本地服务器上做的文件,对吗?
猜你喜欢
  • 1970-01-01
  • 2018-11-13
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多