我正在尝试使用 C# 使用 Bing 语音 API,但 95% 的情况下我从 API 得到以下响应:
消息=发送请求:收到不成功状态:: 状态代码: 服务不可用;原因:;内容:http://www.w3.org/1999/xhtml>身体 { font-family:Arial; margin-left:40px; }img { border:0 none; }#content { margin-left: auto; margin-right: auto }#logo { margin-top: 30像素;宽度=120px;高度=34px }#message h2 { 字体大小: 20px; 字体粗细:正常;颜色: #000000;边距: 34px 0px 0px 0px }#message p { 字体大小: 13px; 颜色: #000000; 边距: 7px 0px 0px 0px }#errorref { 字体大小: 11px; 颜色: #737373; 上边距: 41px }必
应必应服务目前不可用
我们是 努力尽快恢复所有服务。
参考文献 A: A1C0134338234D4AA480524F216CB616 参考文献 B: PAR02EDGE0112 参考文献 C: 2018-09-27T17:12:16Z
我们了解您 想回到搜索。请稍后再回来查看。
我确实有一个有效的密钥,并且我已成功通过 API 进行身份验证,起初我认为服务器已关闭,但一周后我得到了相同的响应,因此我认为还有其他问题。
任何见解将不胜感激。
编辑:我正在通过开源C#库(https://github.com/NateRickard/Xamarin.Cognitive.BingSpeech(与api进行通信。 我正在使用的端点是库中的默认端点"speech.platform.bing.com/speech/recognition"。
以下是通过HTTP发送的请求的概述:
{Method: POST, RequestUri: 'https://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=fr-FR&format=simple&profanity=masked', Version: 1.1, Content: System.Net.Http.PushStreamContent, Headers:
{
Transfer-Encoding: chunked
Expect: 100-continue
Accept: application/json
Accept: text/xml
Host: speech.platform.bing.com
Ocp-Apim-Subscription-Key: {my subscription key}
Content-Type: audio/wav
}}
我不知道为什么,但是如果我使用以下标头(而不是您的标头(,它对python有用:
url = 'https://speech.platform.bing.com/speech/recognition/dictation/cognitiveservices/v1?language=en-US&format=detailed'
header = {
'Accept': 'application/json',
'Ocp-Apim-Subscription-Key': YOUR_API_KEY,
'Content-type': 'audio/wav; codec=audio/pcm; samplerate=16000',
'Authorization': 'Bearer {0}'.format(token)
}
r = requests.post(url, headers=header, data=audiodata)