[Windows 8 App]HttpWebRequest翻譯應用(上)

[Windows 8 App]HttpWebRequest翻譯應用(上)

 

由於翻譯應用有點多,所以我們分成兩部分來做詳解

Windows Azure Marketplace帳戶申請和訂閱應用程式完畢後,就可以進入程式碼的部分

 

首先,新增一個專案【MicrosoftTranslator】

然後,開啟【MainPage.xaml】,輸入以下程式碼:

 

  <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <TextBox Name="TxtEnglish" HorizontalAlignment="Left" Margin="250,150,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="200" Width="800" />
        
        <TextBox Name="TxtChinese" HorizontalAlignment="Left" Margin="250,450,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="200" Width="800" />
        
        <Button Name="BtnTranslate" Content="翻譯" HorizontalAlignment="Left" Margin="250,650,0,0" VerticalAlignment="Center" Click="BtnTranslate_Click" FontSize="30" />
        
        <TextBlock HorizontalAlignment="Left" Margin="250,100,0,0" TextWrapping="Wrap" Text="英文" VerticalAlignment="Top" FontSize="40" />
        
        <TextBlock HorizontalAlignment="Left" Margin="250,400,0,0" TextWrapping="Wrap" Text="中文" VerticalAlignment="Top" FontSize="40" />
        
        <TextBlock Name="TxtMessage" HorizontalAlignment="Left" Margin="250,740,0,0" FontSize="25" TextWrapping="Wrap" Text="異常報告" VerticalAlignment="Top" />
        
        <TextBlock HorizontalAlignment="Left" Margin="250,20,0,0" TextWrapping="Wrap" Text="微軟翻譯" VerticalAlignment="Top" FontSize="60" />
    </Grid>

以上程式碼都是些簡單的設置,設計界面如下圖

348

 

前台介面設計完畢後,開啟【MainPage.xaml.cs】

首先在 MainPage.xaml 類別中定義變數 token

AdmAccessToken token;

AdmAccessToken 類別適用於定義身分驗證通過後返回客戶端的token

 

        [DataContract]
        public class AdmAccessToken
        {
            [DataMember]
            public string access_token { get; set; }
            [DataMember]
            public string token_type { get; set; }
            [DataMember]
            public string expiress_in { get; set; }
            [DataMember]
            public string scope { get; set; }
        }

 

然後在 OnNavigatedTo 方法中添加像微軟翻譯的認證服務器發送HTTP請求申請使用權限的程式碼

這樣導航到此頁面時會像認證中心發送認證請求,並獲得使用服務的客戶端 token ,程式碼如下:

        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            AdmaAuthentication admAuth = new AdmaAuthentication("輸入ID", "輸入金鑰");
        }

上面程式碼中的ID與金鑰,是我們申請的Windows Azure Marketplace的金鑰與ID

關於 AdmaAuthentication 的程式碼,我們繼續參考下篇