前提
node.jsでGoogleのspeech-to-text-APIを使用しようとしています。
ajaxのpost通信ができなくて困っています。
実現したいこと
ajaxを使ってAPIにデータを送りたい
発生している問題・エラーメッセージ
Speech API Error:{"readyState":0,"status":0,"statusText":"error"} Error: Cross origin null forbidden at dispatchError (/Users/taichitanaka/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js:63:19) at Object.validCORSHeaders (/Users/taichitanaka/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js:75:5) at receiveResponse (/Users/taichitanaka/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js:794:19) at Request.<anonymous> (/Users/taichitanaka/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js:658:43) at Request.emit (node:events:513:28) at Request._processResponse (/Users/taichitanaka/node_modules/jsdom/lib/jsdom/living/helpers/http-request.js:228:12) at ClientRequest.<anonymous> (/Users/taichitanaka/node_modules/jsdom/lib/jsdom/living/helpers/http-request.js:101:12) at Object.onceWrapper (node:events:628:26) at ClientRequest.emit (node:events:525:35)
該当のソースコード
javascript
const jsdom = require('jsdom');const { JSDOM } = jsdom;const dom = new JSDOM(`<html><body><div id="aaa">AAA<div></body></html>`);const { document } = dom.window;const jquery = require('jquery');const $ = jquery(dom.window); var key = "*********************"; load_file();function load_file() { var json = { "config": { "encoding": "LINEAR16", "sample_rate": 44100, "language_code": "ja_JP" }, "audio": { "content": "unko.wav" } }; voice_recognition(json);} function voice_recognition(json){ $.ajax({ type: 'POST', url: 'https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=' + key, data: JSON.stringify(json), dataType:'json', contentType: 'application/json' }).done(function(data) { console.log(data.results[0].alternatives[0].transcript); }).fail(function(error) { console.log("Speech API Error:" + JSON.stringify(error)); });}
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

0 コメント