Office 365 & Office アドイン 開発者ブログ

Office 365 API、Offce アドイン(Office用アプリ・Office Add-ins)の開発を中心に、自分の持っている知識や経験をすべてまとめていくブログになります

Office アドイン活用【認証① Azure AD - Azure Active Directory】

アクセス履歴を確認していると、海外からのアクセスもあって、
よっしゃ!遂に海外進出か?と思ったら、大体がスパムで(´・ω・`)となりました笑
引き続き、やるべきことをやっていきます。今回は"Azure Active Directory(Azure AD)"の設定を解説します。

【注意】
このブログに記載した内容は、一開発者としての見解を述べたものになっており、
ジョルダン株式会社の公式見解ではありません。

また、当ブログでは、ジョルダン株式会社開発の「乗換案内Biz for Office」を基として解説を行います。


「乗換案内Biz for Office」では、Office 365と連携を行っており、現在以下の機能を実装しております。
・Office 365アカウントを使用してのシングルサインオン
・Office 365アカウントのユーザー情報を取得
Outlook予定表の予定一覧を取得
・経路情報を、Outlook予定表に登録

これらの機能を実施するためには、Azure ADの設定が不可欠になります。
今回は「Office アドイン」というよりも「Office 365 API」の設定になりますが、一緒に覚えてしまいましょう。


そもそもAzure ADとは?という点ですが、以下のようなサイトをご確認下さい。
Windows Azure Active Directoryことはじめ (1/8):CodeZine(コードジン)
Azure Active Directory とは (事前準備) - 松崎 剛 Blog - Site Home - MSDN Blogs

Azure上のActive Directoryなので、かなり多数の機能を持っているはず、です。
この分野については、自分はあまり詳しくないので、
今回は「Office 365 APIを使用する」ということにフォーカスを当て、解説を行っていきます。


Office 365の機能を使うためには、ちょっとだけ意識するべき内容があります。

■アプリを登録するディレクトリは、Office 365のドメインを使用する
Azure上で新規に、ディレクトリを作成する事も出来るのですが、
その場合、他のアプリケーションの選択肢に、ExchangeやSharePointの情報が出てきません。

こちらが、Azure ADでアプリを新規追加した場合。
f:id:jorudanofficedevelop:20150728192011p:plain


そしてこちらが、Office 365のディレクトリに対してアプリを追加した場合です。
f:id:jorudanofficedevelop:20150728192019p:plain

このように、使用できるMicrosoftアプリに差異があります。
「新規のディレクトリにアプリを追加しよう!サインインユーザーにOffice 365アカウントを使用させればいいや」
といったことを最初やろうとしていましたが、そういうことは出来ません。
Office 365のディレクトリにアプリを追加しましょう。


■アプリケーションのアクセス許可
Azure ADの設定に、「アプリケーションのアクセス許可」というものがあります。
facebooktwitterアプリなどでも、アプリ使用時「ツイート(近況)の投稿許可」「プロフィール読込許可」「友達リスト読込許可」etc...を求められますね。
Office 365 APIでも、同じような設定があります。
ちゃんと設定しないと、
f:id:jorudanofficedevelop:20150728192038p:plain
このようなカオスなことになってしまうので笑、アプリに必要な権限のみを付けるよう、気をつけましょう。

「乗換案内Biz for Office」の場合、以下の権限を付加しております。
・Office 365アカウントを使用してのシングルサインオン
・Office 365アカウントのユーザー情報を取得
→ 「Windows Azure Active Directory」の『Enable sign-on and read users' profiles』
f:id:jorudanofficedevelop:20150728192047p:plain


Outlook予定表の予定一覧を取得
・経路情報を、Outlook予定表に登録
→ 「Office 365 Exchange Online」の『Read and write user calendars』
f:id:jorudanofficedevelop:20150728192058p:plain

この2つの権限を付加しております。
皆様が開発されるアプリの仕様によって、付加する権限を変更しましょう。


■unified APIについて
Office 365 APIの一種として、「Office 365 unified API」というものがあります。
Office Dev Center - Office 365 unified API (PREVIEW)
MSDN Blogs
「機能ごとに多数分かれていたAPIのEndPointをひとつにまとめる」ということをコンセプトとしています。
今日(2015/07/28)現在preview版で、まだ機能が不足している($countが取得できないetc...)等あるようで、
正式版は今後リリースとなるようです。
正式版がリリースされたら、是非とも活用したいです!



今回は以上になります。ちょっと情報量が足りないかもしれませんね;;
もっとこんな内容を知りたい!というご要望がありましたら教えてくださると、めっちゃテンション上がります!!
よろしくお願いします。