Bot Framework と Microsoft Graph で DevOps その 16 : 会話のインターセプト処理

今回はボットアプリとユーザー間のやり取りを、インターセプトする方法を紹介します。 概要 ミドルウェアを会話の前後に差し込めると、会話のログ取得や、会話のフォワードなど、様々なことを既存のコードに影響を与えることなくできます。 インターセプトの実装 1. ボットアプリの Services フォルダに ActivityLogger.cs を追加し、コードを以下と差し替えます。 using Microsoft.Bot.Builder.History; using Microsoft.Bot.Connector; using System.Diagnostics; using System.Threading.Tasks; namespace O365Bot.Services {     public class ActivityLogger : IActivityLogger     {         public async Task LogAsync(IActivity activity)         {             Debug.WriteLine($”From:{activity.From.Id} – To:{activity.Recipient.Id} – Message:{activity.AsMessageActivity()?.Text}”);         }     } } 2. Global.asax.cs に処理差し込み用のコードを追加します。以下のコードと差し替えます。自分用の IoC Container と登録先を間違えないようにしてください。 using… Read more

Postman を使った Web API テスト: Azure AD 連携したアプリケーションの Auth 2.0 トークン取得方法

最近 Postman を使って各種 Web API を試すことが多いんですが、Azure AD 連携のアプリケーションで OAuth 2.0 トークン取得をどうするのという話を何度か聞かれたのでまとめておきます。 利用するサービスはなんでもいいんですが、最近 UCWA よく触っているので UCWA でやってみましょう。他のサービスでやる場合は適当に読み替えてください。 尚、Azure AD の認証に関する詳細は、日本マイクロソフトエバンジェリスト松崎さんのブログをご覧ください。 https://blogs.msdn.microsoft.com/tsmatsuz/2012/09/01/azure-active-directory/ Skype for Business の準備 UCWA を使うにあたり、Office 365 E3 プランの申し込みから。既に環境ある人はスキップしてください。 1. https://products.office.com/ja-jp/business/office-365-enterprise-e3-business-software にアクセス 2. 「無料試用版」リンクをクリック。 3. ウィザードに従ってセットアップを進めます。大体 10 分くらいで完了します。 4. セットアップが完了したら、https://portal.office.com よりログインし、管理者アイコンをクリックします。 5. 検証するために、ユーザーを数名追加します。ユーザー | アクティブなユーザーよりユーザーの追加ボタンをクリックします。 6. 必須項目を埋めて、ユーザーを追加します。 7. 同様の手順でユーザーを数名追加しておきます。 8. Skype for Business にログインできるか試します。左上のワッフルメニューより「メール」を選択します。 9…. Read more