2017-05-29 49 views
2

我想使用Google Speech API的异步转录服务。我已经将我的音频文件上传到Google存储桶中,并且正在尝试使用以下代码(我从命令中删除了我的密钥和文件名,其他所有内容都被复制了)。Google语音API发生INVALID_ARGUMENT错误

curl -H "Content-Type: application/json" 
    --data '{"audio":{"uri":"https://storage.cloud.google.com/<mybucketname>/<filename>"}, 
    "config":{"encoding":"FLAC","sample_rate_hertz":"16000","language_code":"en_US"}}' 
    https://speech.googleapis.com/v1/speech:longrunningrecognize?key=<mykey> 

我得到一个400 INVALID_ARGUMENT错误,告诉我“请求包含无效参数”。我在卷曲请求中做了什么错误?

回答

1

显然问题出在我的URI中。 Google有一种特殊的方式来引用Google桶中的项目,以“gs:”作为前缀。

curl -H "Content-Type: application/json" 
    --data '{"audio":{"uri":"gs://<mybucketname>/<filename>"}, 
    "config":{"encoding":"FLAC","sample_rate_hertz":"16000","language_code":"en_US"}}' 
    https://speech.googleapis.com/v1/speech:longrunningrecognize?key=<mykey> 

注意,我得到了后,我切换到这种做法我不能克服的权限错误,但我不认为这是关系到我正在做我的卷曲请求了道路。

0

<文件名>后面是否应该有双引号?

+0

哦,这是我在复制命令时犯的一个错字。修正了它的问题。谢谢。 – Mohsen

0

检查sample_rate_Hertz。你可能会发现这是SYNCHRONOUS请求的格式。

ASYNCHRONOUS是sampleRateHertz。

我刚刚得到它的工作如此恢复,如果你需要,而我的记忆仍然是新鲜的!

+0

你能为此发布源代码吗?尝试出来ValueError:Protocol消息RecognitionConfig没有“sampleRateHertz”字段。谢谢! –