[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>
以上程式碼都是些簡單的設置,設計界面如下圖
前台介面設計完畢後,開啟【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 的程式碼,我們繼續參考下篇