Завернуть соответствующий запрос в node-fetch - PullRequest
0 голосов
/ 23 февраля 2019

Уже давно я пытаюсь заставить этот curl запрос работать с node-fetch безуспешно.

curl -X GET 
-u "<username>:<password>" 
--output hello_world.mp3 
"https://gateway-lon.watsonplatform.net/text-to-speech/api/v1/synthesize/?accept=audio/mpeg&text=hello"

Заранее спасибо за помощь.

Примечание: Я использую React Native .

1 Ответ

0 голосов
/ 23 февраля 2019

я не знаю, если Node.JS имеет ЛУЧШЕ API для этого (но я удивлен, если нет), я не занимаюсь программированием Node.js сам, но язнаю, как это сделать с помощью обычного браузера javascript API XMLHttpRequest, я также знаю, что Node.js поддерживает XMLHttpRequest.

эквивалентный ish XMLHttpRequest будет

{
    let xhr = new XMLHttpRequest();
    xhr.open("GET", "https://gateway-lon.watsonplatform.net/text-to-speech/api/v1/synthesize/?accept=audio/mpeg&text=hello", true);
    xhr.responseType = "arraybuffer";
    xhr.setRequestHeader("Authorization", "Basic " + btoa("<username>:<password>"));

    xhr.onload = function(ev) {
        fs.appendFile("hello_world.mp3", xhr.response, {
            flag: "wb"
        });
    };
    xhr.send();
}
...