リモート ファイルのバイナリ コンテンツを API エンドポイントに送信する必要があります。リクエスト ライブラリを使用してリモート ファイルのバイナリ コンテンツを読み取り、変数に格納します。変数の内容を送信する準備ができたので、リクエスト ライブラリを使用してリモート API に投稿するにはどうすればよいですか。
私が現在持っていて機能しないのは次のとおりです。
const makeWitSpeechRequest = (audioBinary) => {
request({
url: 'https://api.wit.ai/speech?v=20160526',
method: 'POST',
body: audioBinary,
}, (error, response, body) => {
if (error) {
console.log('Error sending message: ', error)
} else {
console.log('Response: ', response.body)
}
})
}
ここでaudioBinary
は、リモート ファイルから読み取られたバイナリ コンテンツが含まれていると想定できます。
うまくいかないと言うのはどういう意味ですか?
ペイロードは、リクエストのデバッグで異なって表示されます。実際のバイナリ ペイロード:ID3TXXXmajor_brandisomTXXXminor_version512TXXX
デバッグで示されたペイロード:ID3\u0004\u0000\u0000\u0000\u0000\u0001\u0006TXXX\u0000\u0000\u0000\
ターミナルで何が機能しますか?
私が知っているターミナルからの動作は、同じコマンドでファイルの内容も読み取るという違いがあります。
curl -XPOST 'https://api.wit.ai/speech?v=20160526' \
-i -L \
--data-binary "@hello.mp3"