-
-
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> |
Yes, It CORS issue.
You can start chrome with disable security option for testing.
[path]\chrome.exe --disable-web-security
Then test in chrome
Will this work in a Cordova web app? or do you have a Cordova plugin?
We will release Cordova plugin next week.
CORS issues should also been fixed
Here is the link to the iOS/Android Cordova plugins: http://plugins.cordova.io/#/package/ai.api.apiaiplugin
Wow! Nice.
I'm just getting an internal server error. Any clue what I'm dong wrong? Does it have to be running under SSL?
@giennhefley Was it because SSL ? I'am also getting error 500. Chrome indeed need ssl to save the authorization to use the micro...
Um, I used this, and when i say "hi" it returns something about chuck norris.
Why?
@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
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)
Great, but the support from API.AI told me that subscription key is disabled. And i have some problems with CORS, is my fault ?