Office 365 API を利用すると、OAuth と REST により Exchange Online や SharePoint Online のデータに外部アプリケーションからアクセスできます。Office 365 API は 2014年10月に正式リリースされましたが、プレビューのときと比べて REST API は多く変更されています。特に Exchange!
Web で検索するとサンプル コードはいっぱい見つけることができますが、その記事の書かれたタイミングによってもしかするとプレビューの頃の REST API を使っているかもしれないので、サンプルコードを実行してみたいときには注意が必要です。
現在の REST API リファレンス
http://msdn.microsoft.com/en-us/office/office365/api/api-catalog
また MSDN に 「Office 365 API プレビューのコード サンプル」 って記事があり、Office 365 API の利用サンプルが、MVC アプリケーションのものから Windows 8 アプリに Windows アプリといくつかのバリエーションで提供されています。とってもとっても参考になるんですが、このサンプルコードも今のところプレビュー時のコードなのでご注意を (2015年1月現在) しくみは変わってないので、上記 REST API リファレンスを見ながら REST 呼び出し部分や返ってきたデータ構造の扱い部分のみ、若干変更が必要です。
ここで提供されているひとつめのサンプルである 「Office 365 APIs: Web server app using REST calls」 について、現行の 365 API にあわせて、一部コードを修正してみました。
<サンプルの動作イメージ>
Office 365 API で提供される REST API を利用して、OneDrive for Business のファイルを取得してみたり、Exchange Online のメールや予定を取得するといったとってもシンプルなものですが、365 API を利用について基本が全部つまってます。理解できれば、あとはやりたいことに応じて呼ぶ REST API が変わるだけ。
また Office 365 API を利用しているサンプル プログラムは動作確認するためには Azure AD への登録と、登録時に生成される ID と キーをコード内に含める必要があります。
参考までに、サンプルソリューションを動作させる方法も。
① 接続先の Office 365 サブスクリプションで、Azure AD サブスクリプションを利用するためのサインアップを行う (これは1回だけでいいので、すでに行っている場合はスキップ)
-
- Windows Azure ポータルに Office 365 管理者アカウントでサインイン
ここで無事 Office 365 管理者アカウントで Windows Azure ポータルにアクセスできれば、サインアップは過去にやってあるってことです。
- サインアップをまだやっていない場合は、「サブスクリプションが見つかりません」的なメッセージが表示されるので、めげずに 「Microsoft Azure にサインアップ」 をクリックする
- 画面にしたがってサインアップ (登録) 作業をすすめてください。
クレジットカードの登録を求められますが、Azure AD のみを利用する分にはお金はかかりません。
- サインアップが終わると、Office 365 管理者アカウントを利用して Windows Azure ポータルにアクセスできるようになり、下図のように、組織名 (Office 365 テナント名) が表示されることが確認できます。
また、サインアップ後は、Office 365 管理ポータル内の 「Azure AD」 をクリックすると、Azure ポータルが開けるようになります。
- Windows Azure ポータルに Office 365 管理者アカウントでサインイン
② Azure AD にアプリを登録
- VS でデバッグ実行でのみ確認したい場合、あらかじめ VS プロジェクトをデバッグ実行する際の開発環境のポート番号を確認しておいてください。
プロジェクトのプロパティで確認できます。http://localhost:**** ってやつですね
- Azure ポータルに Office 365 管理者アカウントで入り、組織名をクリック – [アプリケーション] をクリック
- アプリケーションが一覧されたら、画面下部の [追加] をクリック
- ダイアログが表示されるので、[組織で開発中のアプリケーションを追加] → 任意のアプリケーション名を登録 → [サインオン URL] にデバッグ実行用の URL を指定 & [アプリケーションの URI] に任意の値を設定
- アプリケーションが登録されるので、[構成] をクリック
画面下部の [アプリケーションの追加] をクリックし、Exchange Online と SharePoint Online を追加する
さらにアクセス許可を設定する。設定後、[保存] クリックしといてください。上のサンプルを動かすためには、Exchange Online に 「Read users’ mail」 と「Read users’ calendaers」 SharePoint Online には 「Read users’ file」 が必要です。
- クライアント ID をコピっておく
- キーを生成 (時間を選択して保存すると生成される) して、コピっておく
③ サンプル コード内にクライアント ID とキーを入れる
ダウンロードした Office 365 API のサンプル プログラムにはクライアント ID とキーを指定するコードがあります。この記事で紹介しているサンプルプログラムの場合は、web.config 内です。
以上、Office 365 API のサンプルプログラムと動作確認方法についてでした。
2015年2月、4月、6月にこんな無償セミナーもあります!ご興味ある方はぜひ受講を検討ください!