如何在 C# 中为 Google Assistant SDK 创建 gRPC 服务?

How To Create a gRPC Service In C# For Google Assistant SDK?

我想通过 C# 与 Google Assistant SDK 通信,SDK 网站说对于 Python 以外的语言,我需要设置 gRPC。有什么好的教程可以帮助我入门吗?谢谢:)

https://developers.google.com/assistant/sdk/reference/rpc/

应该可以从任何支持 gRPC 的语言(包括 C#)使用助手 API SDK,但是如果没有可用的预构建助手 SDK(看起来 python,不确定其他语言),这样做会涉及更多。 简而言之: 所有 public Google API 的 .proto API 定义(包括助手 API)位于 "googleapis/googleapis" github 仓库中: https://github.com/googleapis/googleapis/tree/master/google/assistant/embedded/v1alpha1 简而言之,这是您需要做的:

  1. 从 github
  2. 中获取 API 的 .proto 定义
  3. 使用您选择的语言生成原型 messages/stubs(与 grpc.io 上的 gRPC 教程基本相同)。
  4. 使用身份验证库通过 google 进行身份验证 (http://www.grpc.io/docs/guides/auth.html)
  5. 使用步骤 2 中生成的客户端存根调用 API 调用。

顺便说一句,Google API 客户端库基本上是这些步骤的预打包结果,有时在其之上添加一些便利层可以提高给定 API.

此外,通常随着时间的推移,对更多语言的支持会添加到新的 API 中(因此在某些时候可能会有官方 C# 客户端库)。