<html> | |
<head> | |
<title>API Example</title> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> | |
<script type="text/javascript"> | |
var accessToken = "<your agent's client access token>"; | |
var baseUrl = "https://api.api.ai/v1/"; | |
$(document).ready(function() { | |
$("#input").keypress(function(event) { | |
if (event.which == 13) { | |
event.preventDefault(); | |
send(); | |
} | |
}); | |
$("#rec").click(function(event) { | |
switchRecognition(); | |
}); | |
}); | |
var recognition; | |
function startRecognition() { | |
recognition = new webkitSpeechRecognition(); | |
recognition.onstart = function(event) { | |
updateRec(); | |
}; | |
recognition.onresult = function(event) { | |
var text = ""; | |
for (var i = event.resultIndex; i < event.results.length; ++i) { | |
text += event.results[i][0].transcript; | |
} | |
setInput(text); | |
stopRecognition(); | |
}; | |
recognition.onend = function() { | |
stopRecognition(); | |
}; | |
recognition.lang = "en-US"; | |
recognition.start(); | |
} | |
function stopRecognition() { | |
if (recognition) { | |
recognition.stop(); | |
recognition = null; | |
} | |
updateRec(); | |
} | |
function switchRecognition() { | |
if (recognition) { | |
stopRecognition(); | |
} else { | |
startRecognition(); | |
} | |
} | |
function setInput(text) { | |
$("#input").val(text); | |
send(); | |
} | |
function updateRec() { | |
$("#rec").text(recognition ? "Stop" : "Speak"); | |
} | |
function send() { | |
var text = $("#input").val(); | |
$.ajax({ | |
type: "POST", | |
url: baseUrl + "query?v=20150910", | |
contentType: "application/json; charset=utf-8", | |
dataType: "json", | |
headers: { | |
"Authorization": "Bearer " + accessToken | |
}, | |
data: JSON.stringify({ q: text, lang: "en" }), | |
success: function(data) { | |
setResponse(JSON.stringify(data, undefined, 2)); | |
}, | |
error: function() { | |
setResponse("Internal Server Error"); | |
} | |
}); | |
setResponse("Loading..."); | |
} | |
function setResponse(val) { | |
$("#response").text(val); | |
} | |
</script> | |
<style type="text/css"> | |
body { width: 500px; margin: 0 auto; text-align: center; margin-top: 20px; } | |
div { position: absolute; } | |
input { width: 400px; } | |
button { width: 50px; } | |
textarea { width: 100%; } | |
</style> | |
</head> | |
<body> | |
<div> | |
<input id="input" type="text"> <button id="rec">Speak</button> | |
<br>Response<br> <textarea id="response" cols="40" rows="20"></textarea> | |
</div> | |
</body> | |
</html> |
This comment has been minimized.
This comment has been minimized.
Hi, Please help me. |
This comment has been minimized.
This comment has been minimized.
@saeemahmedpt try uploading the HTML file to a web server, as Audio API is not available if you load the file locally |
This comment has been minimized.
This comment has been minimized.
None of the api ai samples are working.... |
This comment has been minimized.
This comment has been minimized.
change your access token with Developer access token or Client access token .... @comarius |
This comment has been minimized.
This comment has been minimized.
Guys if anyone is having problems with the audio, that is because as mentioned before Audio API is not available locally, you must host the file, this can be done on your local machine using nodejs with expressJS (https://scotch.io/tutorials/use-expressjs-to-deliver-html-files) or Python (http://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python). You can also use a dedicated server, many are available online |
This comment has been minimized.
This comment has been minimized.
Loading your script without protocol avoids http/https switch issue |
This comment has been minimized.
This comment has been minimized.
It works, but i got warning...so how to add session id? "metadata": {
"warning": "IMPORTANT: Please use unique session ID for each client. Otherwise you may experience unstable behaviour."
}, em... i added data: JSON.stringify({ query: text, lang: "en", sessionId: "fe172d70-7c2e-4cb7-99fd-7a745edb9622"}), |
This comment has been minimized.
NIce