Как создать службу gRPC на C # для SDK Google Assistant?

Я хочу общаться с SDK Google Assistant через C #, и на веб-сайте SDK сказано, что для языков, отличных от Python, мне нужно настроить gRPC. Есть ли какие-нибудь хорошие уроки по этому поводу, которые я могу использовать для начала? Спасибо :)

https://developers.google.com/assistant/sdk/reference/rpc/ < / а>


person NateDev    schedule 08.05.2017    source источник
comment
На веб-сайте GRPC доступна документация: grpc.io/docs/quickstart/csharp.html   -  person Ari Lotter    schedule 11.05.2017


Ответы (1)


Должна быть возможность использовать SDK помощника API с любого языка, поддерживающего gRPC (включая C #), но если нет доступного SDK помощника предварительной сборки (похоже, есть один для python, не уверен в других языках), это немного больше вовлечено в это. Вкратце: определения API .proto для всех общедоступных API Google (включая API-интерфейс помощника) находятся в репозитории github "googleapis / googleapis": https://github.com/googleapis/googleapis/tree/master/google./assistant/embedded/v1alpha1 Вкратце, вот что вам нужно сделать. :

  1. возьмите определения .proto для API из github
  2. генерировать прото-сообщения / заглушки на языке по вашему выбору (в основном так же, как в руководствах по gRPC на grpc.io).
  3. аутентифицироваться в Google с помощью библиотеки аутентификации (http://www.grpc.io/docs/guides/auth.html)
  4. вызывать вызовы API с помощью клиентской заглушки, созданной на шаге 2.

Кстати, клиентские библиотеки Google API в основном представляют собой предварительно подготовленный результат этих шагов, иногда с небольшим уровнем удобства поверх него, улучшающим удобство использования данного API.

Кроме того, обычно со временем к новым API-интерфейсам добавляется поддержка большего количества языков (так что в какой-то момент может появиться и официальная клиентская библиотека C #).

person Jan Tattermusch    schedule 15.05.2017
comment
Ok. Я загрузил определения .proto с GitHub и использовал ProtoCompiler для компиляции embedded_assistant.proto в файл .cs. Это все верно для шагов 1 и 2, верно? - person NateDev; 20.05.2017
comment
ты смог это сделать ?? @NateDev - person Sana; 07.02.2019
comment
@Sana нет. Получил ошибки в этом файле, попробовал много других вещей, там тоже ошибки и т. Д. - person NateDev; 08.02.2019