Office365 Outlook on the webのアドインサンプルを動作させる編

前回に引き続き、VSCodeを利用してアドインを動かしていきましょう。 

まずはワークスペースフォルダを追加しましょう。

f:id:mohessu:20180429203458p:plain

ソース管理の横にあるリポジトリの初期化ボタンを押しましょう。

f:id:mohessu:20180429204128p:plain

 

f:id:mohessu:20180429204215p:plain

以下アドレスよりClone or downloadを選択し表示されるダイアログよりDownload ZIPでファイルをダウンロードし、ワークスペースに入れましょう。

https://github.com/OfficeDev/Outlook-Add-in-On-Send

f:id:mohessu:20180429210532p:plain

 

ワークスペースに配置するとエクスプローラー上にこのアドインが表示されるようになります。 

f:id:mohessu:20180429211514p:plain

エクスプローラーを開いていくと、それぞれコードが記載されています。 

例えば、送信時にメールのCCにアドレスをセットするには、app.jsのaddCCOnSendにアドレスを書き加えてみましょう。

また、一緒に入っているContoso Subject and CC Checker.xmlも書き換える必要があります。書き換える内容は、この機能をホストしているサーバー情報を記するのですが、この時点ではこの機能をホストしているサーバーはありません。Azure App Serviceを立ち上げるのが簡単なので、VSCode上から呼び出せるようにしてみましょう。

f:id:mohessu:20180429212051p:plain

VSCodeには、拡張機能としてAzure App Service というものがあり、Azure上でサービスを簡単に起動させることができる機能が搭載されています。入れておくと、コードを書いてそのまま起動。というところまで一元で準備することができます。

f:id:mohessu:20180429222807p:plain

インストールしてエクスプローラーより場所を追加しようとすると、デバイスのログイン画面が表示されます。アプリケーションが発行したコードを入力するように促されますので、VSCode上に表示されているコードを入力しましょう。 

f:id:mohessu:20180429223127p:plain

こんな感じに右下にコードが表示されます。

f:id:mohessu:20180429223247p:plain

これでアプリのデプロイまで完了です。
Contoso Subject and CC Checker.xmlにこのサイトのURLを記述しておきます。

後はOutlookよりアドインを有効化する必要があります。

オプションからファイルの追加を選びこのXMLを選択します。

f:id:mohessu:20180429224148p:plain

f:id:mohessu:20180429224218p:plain

あとはインストールを押下するのみです。

f:id:mohessu:20180429224257p:plain

f:id:mohessu:20180429224332p:plain

ちなみにこのアドイン、既定の状態では送信時に機能が動作しないようになっているため、うまく動きません。

以下URLに記載のあるように、OnSendAddinsEnabledをオンにしたポリシーを用意し、ユーザーに設定しましょう。

Outlook アドインの送信時機能 | Microsoft Docs

以下コマンド例では、OWAOnSendAddinAllUserPolicyという名のポリシーにOnSendAddinsEnabledをセットして、mitomoha@.onmicrosoft.comにポリシーを割り当てています。

$UserCredential = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session

New-OWAMailboxPolicy OWAOnSendAddinAllUserPolicy

Set-OwaMailboxPolicy -Identity OWAOnSendAddinAllUserPolicy -OnSendAddinsEnabled:$true

Get-OWAMailboxPolicy OWAOnSendAddinAllUserPolicy

Get-User -Identity 'mitomoha@.onmicrosoft.com' |Set-CASMailbox -OwaMailboxPolicy OWAOnSendAddinAllUserPolicy

これでアドインが動作するようになりました。

以下のように、送信時に条件がそろうと、、、 

f:id:mohessu:20180429230340p:plain

自動的に送信がブロックされ、CCにメールアドレスが追加される動作が確認できました。

f:id:mohessu:20180429230443p:plain

先ほどはAzure Appをサーバーとして準備しましたが、止めておくと以下のように通信ができなかったというエラーとなります。

f:id:mohessu:20180430093004p:plain

残念ながらこの機能、Outlook on the Webでのみ動作し、スマホアプリなどでは動きません。

各種あるアプリで同一の動作が行われるようになると、かなり使い勝手が良いものになりそうなのですが、、、

この辺りはそのうちの改善に期待ですね!

音楽:エスケイプ