Как использовать CORS в JavaScript для получения ответа от Dialogflow (Api.Ai) - PullRequest
0 голосов
/ 13 октября 2018

Начиная с последней пары часов, когда я пытаюсь подключить api.ai с использованием javascript, я получаю следующую ошибку:

"Не удалось загрузить https://api.api.ai/v1/query?v=20150910: Нет 'Access-Control-Allow-Origin'в запрошенном ресурсе присутствует заголовок. "

Я пытаюсь отправить запрос в Api.AI, используя javascript, следующим образом: -

const client = new ApiAi.ApiAiClient ({accessToken:" ******************* "});const обещание = client.textRequest (запрос);обещание .then (handleResponse) .catch (handleError);

функция handleResponse (serverResponse) {}

Ответы [ 3 ]

0 голосов
/ 13 октября 2018

Я полагаю, вы вызываете API из браузера.Это не лучший вариант, так как любой может увидеть ваш код доступа.

Вы можете попробовать следующие решения:

  1. Вызовите API из бэкэнда, а не из фронтэнда.
  2. Используйте API выборки и отключите CORS.
0 голосов
/ 13 октября 2018

Я тоже начал сталкиваться с этой проблемой с нескольких часов, похоже, что люди в DialogFlow изменили ограничения CORS.

В настоящее время единственным решением является использование среднего proxy server / cloud function, котороевызовет URL-адрес api.ai от имени браузера и отправит результат обратно в браузер.

Найден вопрос и ответ здесь .

0 голосов
/ 13 октября 2018

Вы можете использовать расширение браузера для этой проблемы. В Chrome Если вы используете PostMan или другой сервис, кроме браузера, вы не увидите эту ошибку или вы можете использовать прокси nginx для получения результата.

...