私は、Microsoft BingスピーチAPIにHTTPポストリクエストを送信しようとしています。まず、 "アクセストークン"を返信する投稿要求を送信する必要があります。このトークンは、実際のファイルをアップロードするための別の投稿要求で使用されます(応答として転写を取得します)。ポスト要求し、正常にアクセストークンを取得しますが、私は私の第2のポスト要求のための合理的な応答を取得することはできませんよ、私はこのページに従います。https://www.microsoft.com/cognitive-services/en-us/speech-api/documentation/api-reference-rest/bingvoicerecognitionC#のHTTPポストリクエストをMicrosoft BingスピーチAPIに送信
これは、第2のポスト要求である:
Guid requestId = Guid.NewGuid();
var Uri = @"https://speech.platform.bing.com/recognize?version=3.0&requestid=" + requestId.ToString() + @"&appID=D4D52672-91D7-4C74-8AD8-42B1D981415A&format=json&locale=en-US&device.os=Windows%20OS&scenarios=ulm&instanceid=f1efbd27-25fd-4212-9332-77cd63176112";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, Uri);
request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken));
request.Headers.TryAddWithoutValidation("Content-Type", @"audio/wav; samplerate=16000");
MemoryStream ms = new MemoryStream();
using (var fs = System.IO.File.OpenRead("audio.wav"))
{
byte[] buffer = new byte[1024 * 8];
while (fs.Read(buffer, 0, buffer.Length) > 0)
{
ms.Write(buffer, 0, buffer.Length);
}
fs.Close();
}
ms.Seek(0, SeekOrigin.Begin);
HttpContent _Body = new StreamContent(ms);
request.Content = _Body;
var client2 = new HttpClient();
var response2 = client2.SendAsync(request);
I私はデバッグ時に、このプロパティがリクエストのヘッダーに設定されているとは見えません。実際には、Content-Typeはありません。ヘッダー。任意のhel pは高く評価されます。対応するcurl
コマンドについて説明しているこのページも参考になります。https://social.msdn.microsoft.com/Forums/en-US/ad73e4f1-e576-4080-9fe7-060cc2f583ca/microsoft-bing-voice-recognition-api-authorization-404resource-not-found?forum=SpeechService