小编Ale*_*rön的帖子

Azure 文本转语音服务返回 401 Unauthorized

我正在尝试使用 Azure 认知服务文本转语音 API,但无论我尝试什么,我都会收到 401 未经授权的响应。

我在西欧地区的订阅中创建了认知服务资源。类型为所有认知服务,状态为活动。我从https://github.com/Azure-Samples/Cognitive-Speech-TTS下载了 CSharp 示例,并将西欧 URL 和我的认知服务订阅密钥输入到代码中。当我运行示例时,访问令牌检索得很好,但文本转语音请求返回 401。

令牌网址:https : //westeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken

服务网址:https : //westeurope.tts.speech.microsoft.com/cognitiveservices/v1

我已经检查过 URL 是否正确,我在两者中使用相同的区域,并且与创建的资源使用相同的区域。我浏览了故障排除页面(https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/troubleshooting)并遇到了相同的 401 问题。我尝试运行来自 Postman 的 TTS 请求。我已经尝试了 Azure 门户中的 Key1 和 Key2,并尝试重新生成密钥。我也尝试在 Azure Functions 中在本地和云中运行请求。

我已经解码了访问令牌,据我所知,它似乎有很多正确的东西。唯一奇怪的是,exp 字段是字符串而不是数字(对于 JWT 不正确)。这可能是导致此错误的身份验证系统中的错误还是我做错了什么?

要求

POST https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 HTTP/1.1
Authorization: Bearer <access-token>
User-Agent: TestApi
X-Microsoft-OutputFormat: audio-16khz-64kbitrate-mono-mp3
Content-Type: application/ssml+xml
Host: westeurope.tts.speech.microsoft.com
Content-Length: 209

<speak version="1.0" xml:lang="fi-FI">
  <voice name="Microsoft Server Speech Text to Speech Voice (fi-FI, HeidiRUS)" xml:lang="fi-FI">Hei, muistathan suorittaa päivän harjoitteet …
Run Code Online (Sandbox Code Playgroud)

text-to-speech azure microsoft-cognitive azure-cognitive-services

2
推荐指数
1
解决办法
842
查看次数