跳到主要內容

發表文章

目前顯示的是 10月, 2018的文章

使用Azure cli 建立對話式聊天機器人(Bot Service)

前言 如果覺得使用Azure Portal建立Bot很麻煩的話, 不妨試試看用Azure Cli, 以指令的方式來建立 以下教學如何使用Azure cli 快速建立一個Bot 前置作業: 需要先在開發機上安裝Azure cli的套件 https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest 註冊新的應用程式 每隻Bot應用都需要先在微軟的App Portal註冊, 之後會取得APP ID 以及Public key (https://apps.dev.microsoft.com/portal/register-app) Public Key 這組密鑰需要自己手動按下 Generate New Password 去產生, 得到之後記得要好好保存, 因為它只會在UI上顯示一次 如上圖所示, 以上步驟完成後會可以得到App ID\Public key, 當後端程式(Bot邏輯)與Azure Bot  Connector Service溝通時會需要App ID\Public key來認證身分 在雲上建立Bot Service 登陸azure az login 建立資源群組(若使用既有群組,可以省略) az group create --name BotResourceGroup --location "West US" 建立bot 相關資源 az bot create --resource-group "BotResourceGroup" --name "andy-test-bot" --kind "function" --description "description-of-my-bot" --appid <YOUR_APP_ID> --password <YOUR_PUBLIC_KEY> appid , password 記得換成剛剛取得那組帳密 kind - 目前有三種資源方案function, registr...

使用UWP 設計 MVVM 軟體架構(三) 在view中使用view以外的資源, 以加入Converter 為例

本篇文章簡單介紹UWP MVVM 如何在view中使用view以外的資源(以加入Converter 為例) 假設view上有個 Image 元件, 它的Visibility屬性被綁定在MyViewModel.IsHide 這個Property上, <Image Margin= "200,200,0,0" MaxWidth= "50" MaxHeight= "50" HorizontalAlignment= "Center" VerticalAlignment= "Center" Source= "ms-appx:///Assets/googleIcon.png" Visibility= "{Binding IsHide, Mode=OneWay}" /> 為了提升可讀性, 我們將 MyViewModel.IsHide 宣告成布林型別, 但由於 Visibility 屬性只能接受整數型別, 所以我們需要多做一個Converter 來轉換成UI上需要的值 public class BoolToIntConvert : IValueConverter { public object Convert ( object value , Type targetType, object parameter, string language) { return ( bool ) value == true ? Visibility.Collapsed : Visibility.Visible; } public object ConvertBack ( object value , Type targetType, object parameter, string language) { t...

[C#] 實作如何讓Cortana Skill 呼叫UWP

前言 當我們在實作Cortana Skill的時候, 我們可以將雲上的資料回傳給Cortana 並且顯示在Canvas上 來跟使用者互動 但實務上, 有些情況因為Canvas本身的限制, 所以需要再刻一個負責前端的UWP來顯示Skill回傳的資料 以下即介紹如透過實作UWP的 Deep link使之與 Cortana 互動 UWP的部分 設定Protocol 右鍵 Package.appxmanifest 選擇 View Code 加入 <Extensions> <uap:Extension Category= "windows.protocol" > <uap:Protocol Name= "YOUR_URL" > <uap:DisplayName> " YOUR_NAME " </uap:DisplayName> </uap:Protocol> </uap:Extension> </Extensions> 這邊假設 YOUR_URL = skill.mytest.clien YOUR_NAME = mytest 複寫OnActivated 當程式被Cortana叫起來時, 這個函式會被執行 複寫它, 使之將頁面切換至相應的頁面 var protocolArgs = args as ProtocolActivatedEventArgs; rootFrame.Navigate( typeof (Views.ListPhotos), protocolArgs.Uri.Query); 如範例所示, 我們會將頁面導向到 Views .ListPhotos Views.ListPhotos複寫OnNavigatedTo 讓我們在導向至這個頁面的時候, 可以先去載入相關資料 protected overrid...

[C#] UWP 遠端部屬 Remote Deploy

通常當我們開發UWP到某一特定階段的時候會想要把程式部屬在其他實體機器上, 讓它跑跑看有沒有問題出現 基本上, Visual Studio 2017  除了部屬在虛擬機或是本機上之外, 也另外提供了遠端部屬的功能, 要啟用這個功能, 首先, 遠端機器必須安裝 Remote Tools for Visual Studio 2017 https://visualstudio.microsoft.com/downloads/?q=remote+tools#remote-tools-for-visual-studio-2017 安裝完後, 我們可以在開始選單上找到, Remote Debugger (左鍵執行) Remote Debugger 起來後會開始等待連接 第二步, 右鍵專案名稱 > Properties 在Debug的頁簽下, 完成以下的設定: 選擇裝置種類,  搜尋裝置,  選擇你要連接的裝置 最後, 點選工具列下方得執行 Visual Studio 就會將UWP部屬在連接的遠端機器上並且執行

[簡易教學] 如何使用 OneDrive API 搜尋雲端上的檔案(以Postman為例)

本篇文章簡單的介紹, 如何使用OneDrive API來取得特定的檔案(使用POSTMAN) 基本上, 使用OneDrive API取得使用者任何資料都需要一個認證過程來取得資料擁有者的授權, 而要完成這個授權的流程 首先, 需要在微軟的網站上註冊你的應用程式 https://apps.dev.microsoft.com/#/appList 註冊完之後我們會獲得 Application ID :  1ba84ab3-12fe-4c1e-86f2-0c5636c389ca Key : kHOUAH^&H= 再來, 加入Redirect URL 1. 選擇Add Platform 2. 選擇Web Application 然後加入https://www.getpostman.com/oauth2/callback 如下 取得授權(打開POSTMAN) 1. 認證方式選擇Oauth 2.0 2. 打開Get New Access Token的對話框 輸入相關資料 Auth Url: https://login.microsoftonline.com/common/oauth2/v2.0/authorize Access Token Url: https://login.microsoftonline.com/common/oauth2/v2.0/token Client ID: 你的Application ID Client Secret: 你的Application Key Scope: files.readwrite offline_access Grant Type: Authorization Code (此方式會額外得到一組refresh token, 將來若access token 過期, 可以用它來索取新的access token) 授權結束之後會取得一組access token, 對於OneDrive的後端來說, 夾帶這個token的API請求就是合法的請求, 因此可以有條件地存取資源 開始存取資源(搜尋檔案) GET https://graph.microsoft.com/v1.0/me/dri...