私は Azure (Microsoft) の感情 API でアプリケーションを構築しましたが、それはコグニティブ サービスの顔 API とマージされたばかりです。私はウェブカメラを使用して画像 (バイナリ データ) をサーバーに送信して分析し、代わりに xml を取得していました。(この例では、いくつかの古いコードを既にコメントアウトしています。修正しようとしています)。
function saveSnap(data){
// Convert Webcam IMG to BASE64BINARY to send to EmotionAPI
var file = data.substring(23).replace(' ', '+');
var img = Base64Binary.decodeArrayBuffer(file);
var ajax = new XMLHttpRequest();
// On return of data call uploadcomplete function.
ajax.addEventListener("load", function(event) {
uploadcomplete(event);
}, false);
// AJAX POST request
ajax.open("POST", "https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=emotion","image/jpg");
ajax.setRequestHeader("Content-Type","application/json");
//ajax.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml");
ajax.setRequestHeader("Ocp-Apim-Subscription-Key","subscription_key");
ajax.send(img);
}
彼らのウェブサイトから、呼び出しが JSON を返すことがわかりました。しかし、私はそれを機能させることができません。データが返されていることがわかりますが、JSON を取得するにはどうすればよいでしょうか。おそらく何か重要なものが欠けているので、誰かが助けてくれることを願っています。:) Emotion API をまだ使用できるとき、プログラムは機能していました。
function uploadcomplete(event){
console.log("complete");
console.log(event);
//var xmlDoc = event.target.responseXML;
//var list = xmlDoc.getElementsByTagName("scores");
console.log(JSON.stringify(event));