我只是在安装Microsoft文本到语音转换的REST版本。
我已经成功获得了 AUTH 令牌,并且实际上可以检索语音响应。(所以我知道我的 API 密钥/端点都在工作(。 我的问题是,当我尝试检索声音列表时,我不断收到404错误。
我直接从微软网站(https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-python-get-text-to-speech-voices(复制了代码,如下所示:
def get_voices(self):
base_url = 'https://westus.tts.speech.microsoft.com'
path = '/cognitiveservices/voices/list'
get_voices_url = base_url + path
headers = {
'Authorization': 'Bearer ' + self.access_token
}
response = requests.get(get_voices_url, headers=headers)
if response.status_code == 200:
with open('voices.json', 'wb') as voices:
voices.write(response.content)
print("nStatus code: " + str(response.status_code) +
"nvoices.json is ready to view.n")
else:
print("nStatus code: " + str(
response.status_code) + "nSomething went wrong. Check your subscription key and headers.n")
然后,我用:
if __name__ == "__main__":
subscription_key = [MY_API_KEY...this works]
app = GetVoices(subscription_key)
app.get_token()
app.get_voices()
问题是它返回"状态代码:404 出了点问题。检查订阅密钥和标头">
我确实得到了一个有效的令牌(我知道这一点,因为我可以使用相同的凭据和令牌成功调用他们的 save_audio(( 方法(,所以这不是问题。 我想知道网址是否已更改?或者文档是否过期? 似乎没有太多其他问题。
(顺便说一下,文档指定在此方法上使用 GET 与 POST...我尝试了两种方式,结果相同(。
有什么想法吗?
我试图使用python代码和Postman获取语音列表,它们都为我工作。错误代码404
总是意味着无法访问服务器,那么,您能否检查防火墙设置以查看链接是否被阻止?您只需使用浏览器访问 https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list,您将获得401
而不是404
。
只是确保令牌适用于美国西部?