-
-
Save ystrot/e799f338ab9849c90b04 to your computer and use it in GitHub Desktop.
<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 access token>"; | |
var subscriptionKey = "<your agent subscription key>"; | |
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/", | |
contentType: "application/json; charset=utf-8", | |
dataType: "json", | |
headers: { | |
"Authorization": "Bearer " + accessToken, | |
"ocp-apim-subscription-key": subscriptionKey | |
}, | |
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> |
Do you have implementation for Titanium Appcelerator??
"Um, I used this, and when i say "hi" it returns something about chuck norris.
Why?"
ahahahahaha
Can some one help me on how to get this thing working in a simple Web browser?
PLease!!
I am new to JS. I am trying to understand this, I saved this as an HTML file and then when I click on the Speak button,nothing happens.
Please help me :-(
@bhallaheemanshu
Can You please help me on how did yu make this work in the Chrome.
@saeemahmedpt: check out my fork of this gist. I struggled for a while until I found ways to get this to work with the latest version to date.
Where could I get the agent subscription key? Please someone help.
Have a way to connect this service with the YahooWeatherForecast?
Please tell me what to put under Subscription key? Please help me!
I am getting "Internal Server Error" i put the access token key but still not fixing the problem
I have created a working fork of this here: https://github.com/latestscoop/DialogFlow-HTML5
It has some additional HTML, CSS and jQuery to pretty things up a bit too.
The README.md file has some simple instructions to help too (@SomeshTalk, @sriram23, @saeemahmedpt)
@artemgoncharuk
Hi i got it working in chrome , you are using webkit that means it is only working on chrome . Is there any solution for Firefox or all browsers