2017-01-30 2 views
0

Я использую службу Microsoft Translator из своих приложений на C#. Однако, так как я создал свою подписку Azure, функция ниже возвращает: «Не удалось перевести». Насколько я понимаю, теперь мне нужно как-то по-другому использовать Microsoft Translator. Я активно искал Интернет, но не мог найти никаких рабочих примеров и/или подобных вопросов. Ниже я приведу мой код, который используется для работы, но теперь он не делает:Сервис Microsoft Translator на Azure (как заставить его работать?)

 public static String TranslateToEnglish(String str) 
     { 
      return Translate(GetTokenWrapper(), str, "en"); 
     } 

     public static String GetTokenWrapper() 
     { 
      AdmAccessToken admToken; 

      AdmAuthentication admAuth = new AdmAuthentication("..", ".."); 
      admToken = admAuth.GetAccessToken(); 
      return "Bearer " + admToken.access_token; 


     } 

     public static String Translate(HttpRequestMessageProperty httpRequestProperty,string authToken, string what, string to) 
     { 
      // Add TranslatorService as a service reference, Address:http://api.microsofttranslator.com/V2/Soap.svc 
      LanguageServiceClient client = new LanguageServiceClient(); 
      HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty(); 
      httpRequestProperty.Method = "POST"; 
      httpRequestProperty.Headers.Add("Authorization", authToken); 
      using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) 
      { 
        OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; 

        string sourceText = what; 

        string translationResult; 

        try 
        { 
         translationResult = client.Translate("", sourceText, "", to, "text/plain", "general", ""); 
        } 
        catch(Exception ex) { return ex.ToString(); } 
      return translationResult; 
     } 

ответ

0

используется переводчик Microsoft точно так же, как на Azure, как вы делали до переезда. Единственное различие заключается в том, что вам нужно использовать ключ Azure и получить токен из новой конечной точки для токенов.

Это показывает вам, как получить лазурную фишку:

https://github.com/MicrosoftTranslator/GetAzureToken

Смежные вопросы