Поэтому я пытаюсь выполнить действие Google с использованием Dialogflow, для которого требуется внешний API.Я всегда использовал jQuery .getJSON()
для выполнения вызовов API, поэтому я понятия не имел, как это сделать.После поиска в Интернете я нашел способ сделать это, используя ванильный javascript (я также протестировал способ на своем веб-сайте, и он работал нормально).Код для этого приведен ниже:
function loadXMLDoc() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
console.log(xmlhttp.responseText);
}
};
xmlhttp.open("GET", "https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-es&key=trnsl.1.1.20190105T052356Z.7f8f950adbfaa46e.9bb53211cb35a84da9ce6ef4b30649c6119514a4&text=eat", true);
xmlhttp.send();
}
Код отлично работал на моем веб-сайте, но как только я добавил его в диалог, он выдал бы ошибку
XMLHttpRequest не определен
Очевидно, это произошло потому, что я никогда не определял его (используя var
), за исключением того, что оно работало без моего участия.Затем я попытался добавить эту строку
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
в код, и она перестала выдавать мне ошибку (потому что я определил XMLHttpRequest).Но тогда мой код не будет работать.
TL; DR: Как выполнить внешний вызов API с использованием выполнения Dialogflow?