0
私はしばらくの間、私のC#アプリケーションからMicrosoft Translatorサービスを使用してきました。しかし、私はAzureサブスクリプションを作成して以来、以下の関数は "Could not translate"のまま戻ります。私が理解するように、今は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;
}