个人资料

跳过导航链接首页 > 博客列表 > 博客正文

C#调用Bing翻译接口

:

    使用正版的接口,先去微软注册一个Azure账号(需要信用卡),随后配置为免费限量,原则上不花钱.注册扣费1美元,招商银行扣了我10块钱,这是什么鬼汇率....

    回归正题,先建立返回翻译结果json对应的类.


namespace EasyNote.Translate.Bing

{



public class Class1

{

public Detectedlanguage detectedLanguage { get; set; }

public Translation[] translations { get; set; }





public Error error { get; set; }

}



public class Detectedlanguage

{

public string language { get; set; }

public float score { get; set; }

}



public class Translation

{

public string text { get; set; }

public Transliteration transliteration { get; set; }

public string to { get; set; }

}



public class Transliteration

{

public string script { get; set; }

public string text { get; set; }

}



public class Error

{

public int code { get; set; }

public string message { get; set; }

}



}


   然后调用函数,里面的Ocp-Apim-Subscription-Key使用注册后获取的Key,打***的部分替换为自己的.


public static async Task<List<EasyNote.Translate.Bing.Class1>> Bing_Translate(string from, string to, string content)

{



List<EasyNote.Translate.Bing.Class1> result = null;



var url = new Uri($"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from={from}&to={to}", UriKind.Absolute);

var httpClient = new System.Net.Http.HttpClient();



tContent tc = new tContent { text = content };

List<tContent> tcs = new List<tContent> { tc};

string json = JsonConvert.SerializeObject(tcs);

HttpContent httpContent = new StringContent(json);

//设置Http的内容标头

httpContent.Headers.ContentType= new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

httpContent.Headers.Add("Ocp-Apim-Subscription-Key", "*********");

var reponse = await httpClient.PostAsync(url, httpContent);

string r_json = await reponse.Content.ReadAsStringAsync();

Debug.WriteLine(r_json);

try

{

result = JsonConvert.DeserializeObject<List<EasyNote.Translate.Bing.Class1>>(r_json);

}

catch (Exception ex)

{



Debug.Write(ex.Message);

}



return result;



}

}


Bing支持的语言比baidu多,相关API文档:

https://docs.microsoft.com/zh-cn/azure/cognitive-services/translator/reference/v3-0-languages


admin
最初发表2019/1/19 23:11:49 最近更新2019/9/25 0:41:02 4965
为此篇作品打分
10