簡體   English   中英

Azure上的Microsoft Translator服務(如何使其工作?)

[英]Microsoft Translator service on Azure (how to make it work?)

我已經在C#應用程序中使用Microsoft Translator服務一段時間了。 但是,由於我創建了Azure訂閱,因此以下函數不斷返回:“無法翻譯”。 據我了解,現在我需要以某種方式使用Microsoft Translator。 我在網上積極搜索,但是找不到任何可行的示例或類似的問題。 下面,我提供了以前可以正常工作的代碼,但現在不起作用了:

        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;
       }

您在Microsoft Azure上的使用方式與遷移之前完全相同。 唯一的區別是您需要使用Azure密鑰並從新端點獲取令牌的令牌。

這向您展示了如何獲取蔚藍令牌:

https://github.com/MicrosoftTranslator/GetAzureToken

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM