Я последовал https://cloud.google.com/speech/docs/getting-started и успешно провелInvalid полезная нагрузка для syncrecognize JSON завитка запроса
curl -s -k -H "Content-Type: application/json" \
-H "Authorization: Bearer access_token" \
https://speech.googleapis.com/v1beta1/speech:syncrecognize \
-d @sync-request.json
, чтобы получить ожидаемый результат. Тем не менее, в настоящее время я пытаюсь сделать по существу то же самое, но для локального файла FLAC поэтому я вместо работы:
curl -s -k -H "Content-Type: audio/x-flac" -H "Authorization: Bearer [my access key]"
https://speech.googleapis.com/v1beta1/speech:syncrecognize --data-binary @file.flac
и я получаю ответ
{
"error": {
"code": 400,
"message": "Invalid JSON payload received. Unexpected token.\nfLaC\u0000\u0000\u0000\"\u0004\n^",
"status": "INVALID_ARGUMENT"
}
}
Google API Консоль разработчика показывает сообщение, но не дайте мне никакой дополнительной информации, чтобы помочь мне. Я также пробовал
wget --post-file file.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=[my api key]"
и также получаю ошибку 400 Bad Request.
Успешен ли кто-нибудь, за что я стреляю? Все примеры, которые я могу найти, это либо использование api для загруженного файла, либо использование некоторых библиотек, в отличие от минималистического запроса curl или wget.
Глупо меня. Я получил эту ошибку, потому что мне не хватало @ перед именем файла. – BSalita