8

リモート ファイルのバイナリ コンテンツを 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"
4

1 に答える 1