Как интегрировать Google Natural Language API с Chatfuel? - PullRequest
0 голосов
/ 29 марта 2020

Мои навыки кодирования и знакомство с решениями Google Cloud ограничены, и я пытаюсь использовать модель машинного обучения из сборки чат-бота с использованием платформы Chatfuel.

Я изучил модель машинного обучения естественному языку используя Google NL, и я хотел использовать этот фрагмент кода, представленный на странице моей модели:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  https://automl.googleapis.com/v1/projects/123456/locations/us-central1/models/ABC123:predict \
  -d @request.json

Затем я попытался передать эту информацию в Chatbot следующим образом:

enter image description here

Проблема в том, что мне нужно передать токен (ключ API кажется невозможным для этого API), и я не вижу, как из интерфейса Chatfuel я мог получить токен для каждый запрос и передать его в моем почтовом запросе.

Редактировать: я видел это сообщение и создал учетную запись службы, но я не вижу, как передать учетные данные в Chatfuel.

Как передать учетные данные службы Google API в Chatfuel?

1 Ответ

1 голос
/ 07 апреля 2020

Вы должны создать сервисную учетную запись в Google Cloud .

Он должен дать вам JSON с ключом API, который используется для генерации нового токена каждый час или около того. Используя Google API для любого используемого вами серверного языка (или просто используя собственные http-запросы), вы используете служебный ключ (который обычно загружается на ваш сервер в виде файла. json) для получения нового токена каждый раз час; ИЛИ вы можете использовать Google Apps Script, если у них есть доступ к Chatfuel (что я не уверен, если они это сделают) и получить токен там, и отправлять его в свое собственное приложение каждые 30 минут или около того через триггер.

Но главное: используя ключ API службы, вы отправляете HTTP-запрос на определенный URL API (доступный по с инструкциями с другой страницы по этой ссылке выше ) каждый час или около того, чтобы сгенерировать новый токен

Из документов этот URL выглядит следующим образом:

POST https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SA-4@PROJECT-ID.iam.gserviceaccount.com:generateAccessToken

просто замените, "`

SA-4@PROJECT-ID.iam.gserviceaccount.com

`"

с именем вашей собственной учетной записи службы Вот и все, как это работает для всех API Google Cloud

...