Обновление списка записей сущностей агента DialogFlow через API - PullRequest
0 голосов
/ 26 июня 2019

Мы искали способ программно обновить entity entries нашего агента для определенного entity type через DialogFlow API . Цель состоит в том, чтобы автоматизировать обновление нашего entity entries по расписанию (так как наше entries будет меняться ежедневно).

Обнаружил эту страницу документации от Google при пакетном обновлении entity entries, но не смог получить ничего лучше, чем 404 при тестировании.

Попытка отправки POST через Postman с использованием предоставленного пути и вставки имени моего проекта в URL, но я считаю, что, возможно, я делаю наивные ошибки, поскольку я новичок в этой области (особенно REST-материал)

Ниже приведен пример текущего 404 используемого ответа и пути.

Мы просто пытаемся преодолеть ошибку 404, как только мы настроим контакт, мы сможем выяснить аутентификацию и все остальное.

Postman 404 Response

Заранее спасибо

1 Ответ

1 голос
/ 26 июня 2019

Есть несколько вещей, которые необходимо учитывать.

URL должен выглядеть следующим образом: https://dialogflow.googleapis.com/v2/projects/julia-development-2/agent/entityTypes/actual_id/entities:batchUpdate

  • "родитель", который вы использовали в URL-адресе, это просто имя параметра пути
  • убедитесь, что "julia-development-2" является идентификатором вашего проекта GCP, а не просто именем (Подсказка: когда вы щелкаете по раскрывающемуся списку для выбора определенного проекта GCP в облачной консоли Google, в списке будут видны как имя, так и идентификатор проекта)
  • заменить "actual_id" на идентификатор типа сущности

Относится к авторизации:

  • вам нужен токен на предъявителя в заголовке авторизации
  • чтобы получить этот токен, сначала необходимо загрузить ключ JSON из учетной записи службы проектов и установить переменную среды GOOGLE_APPLICATION_CREDENTIALS, чтобы она указывала на ваш файл JSON. Подробнее о настройке учетной записи службы и загрузке ключа JSON вы можете найти здесь: https://cloud.google.com/dialogflow/docs/setup
  • чтобы получить токен из командной строки, который вы можете использовать

    gcloud auth application-default-print-access-token

...