Sample-Code:Translator

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   os   

  <h2>My Spanish Translator</h2>       <p>            Enter your text in English:&nbsp; </p>       <p>           <asp:TextBox ID="TextBox1" runat="server"               Width="198px"></asp:TextBox>       </p>     <p>           <asp:Button ID="Button1" runat="server" onclick="Button1_Click"                 Text="Translate" />       </p>       <p>            Here is your translation:</p>      <p>           <asp:Literal ID="lbl1" runat="server"></asp:Literal>      </p>

button code:

 string clientID = "<Your ClientID>";            string clientSecret = "<Your Client Secret>";            String strTranslatorAccessURI = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";            String strRequestDetails = string.Format("grant_type=client_credentials&client_id={0}&client_secret={1}&scope=http://api.microsofttranslator.com", HttpUtility.UrlEncode(clientID), HttpUtility.UrlEncode(clientSecret));            System.Net.WebRequest webRequest = System.Net.WebRequest.Create(strTranslatorAccessURI);            webRequest.ContentType = "application/x-www-form-urlencoded";            webRequest.Method = "POST";            byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strRequestDetails);            webRequest.ContentLength = bytes.Length;            using (System.IO.Stream outputStream = webRequest.GetRequestStream())            {                outputStream.Write(bytes, 0, bytes.Length);            }            System.Net.WebResponse webResponse = webRequest.GetResponse();            System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(AdmAccessToken));            //Get deserialized object from JSON stream             AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream());            string headerValue = "Bearer " + token.access_token;            string txtToTranslate = TextBox1.Text;            string uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + System.Web.HttpUtility.UrlEncode(txtToTranslate) + "&from=en&to=es";            System.Net.WebRequest translationWebRequest = System.Net.WebRequest.Create(uri);            translationWebRequest.Headers.Add("Authorization", headerValue);            System.Net.WebResponse response = null;            response = translationWebRequest.GetResponse();            System.IO.Stream stream = response.GetResponseStream();            System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8");            System.IO.StreamReader translatedStream = new System.IO.StreamReader(stream, encode);            System.Xml.XmlDocument xTranslation = new System.Xml.XmlDocument();            xTranslation.LoadXml(translatedStream.ReadToEnd());            lbl1.Text = "Your Translation is: " + xTranslation.InnerText;

AdmAccessToken Class:

  public class AdmAccessToken       {               public string access_token { get; set; }           public string token_type { get; set; }               public string expires_in { get; set; }                 public string scope { get; set; }      }

 

Resource from: http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.