Ошибка при запросе bing microsofttranslate api?

Следующий код возвращает исключение неверного запроса. Не уверен, что здесь не так.

     string appId = "956vaQc49TdepGpsywiM+BRqfxfgOTeCr/514="; 
     //go to  http://msdn.microsoft.com/en-us/library/ff512386.aspx to obtain AppId.
      string text = "translate this";
        string language = "en";
        System.Uri uri = new Uri("http://api.microsofttranslator.com/v2/Http.svc/Speak?&appId=" + appId + "&text=" + text + "&language=" + language);

        try
        {
            HttpClient client = new HttpClient();
            HttpResponseMessage response = await client.GetAsync(uri);
            response.EnsureSuccessStatusCode();
            Stream responseBody = await response.Content.ReadAsStreamAsync();
          //  meTextToSpeeach.Source = uri;
            string strResponse;
            using (Stream responseStream = responseBody)
            {
                using (StreamReader sr = new StreamReader(responseStream, System.Text.Encoding.Unicode))
                {
                    strResponse = sr.ReadToEnd();
                }
            }

        }
        catch (Exception)
        {


        }

1 ответ

Вы не кодируете параметры (appId, текст, язык). Вы должны делать "..." + WebUtility.UrlEncode(appId) + "..." ...

Другие вопросы по тегам