Graph APIを使った開発をする上で参考になったリンク集
目的
Microsoft系のサービスは種類が多く、また似た用語も多いです。 それゆえ検索しても関連しない記事がヒットすることも...
今回は Graph API開発に関連しそうなリンクをまとめました。
なお、用語の予習をしたいという方はこちらも併せてご覧ください。
cf. Azure Active Directoryについてまとめてみた - Baby step - 思考と実験の足跡
各種URL
Microsoft Graphとは
Microsoft Graph ドキュメント | Microsoft Docs
ドキュメントのルートです。 ページ数が膨大なので、ここを目次代わりに眺めると良さそうです。
アプリの移行計画チェックリスト - Microsoft Graph | Microsoft Docs
初めて検索した時「Microsoft Graph」と「Azure AD Graph」の両方がヒットして、なんのこっちゃとなった思い出があります^^
Azure AD Graphは開発が終了しており、Microsoft Graphに移行するように言われています。
チュートリアル
Microsoft Graph チュートリアル | Microsoft Docs
Graph APIを利用して開発する際のチュートリアルです。 サーバー、ネイティブアプリ、シングルページアプリケーションごとにいくつかの言語でチュートリアルができます。
Microsoft Graph を使って Ruby on Rails アプリを構築する - Microsoft Graph | Microsoft Docs
わたしはRubyのチュートリアルを試しました。 ※ 先述のサイト内にある「Ruby」をクリックしたものと同じです。
- Azure Portalへの登録
- Omniauthを使ったAzureとのOAuth2.0認証
- OAuthを利用したサインイン&サインアウト機能の実装
- Outlook 予定表から予定を取得
- Outlook 予定表に新たなイベント(予定)を作成
といった内容が解説されています。
サイト・アプリケーション設定
Microsoft Azure Portal | Microsoft Azure
サインインをすることで、ユーザーやアプリの登録など、AzureADの操作ができます。
チュートリアルで一度アクセスするのですが、それゆえ(?)検索キーワードを度々忘れて迷子になっていました。 「azure portal」でググると出てきます。
権限
Microsoft Graph アクセス許可一覧が知りたい – DialogPlay - TIS株式会社
利用可能なAPIは膨大です。 どんなAPIがあるか、利用するためにどのような権限が必要か、を眺めておくといいでしょう。
ユーザーなしでアクセスを取得 - Microsoft Graph | Microsoft Docs
アプリには、ユーザー個々人が認証を行い、自分のカレンダーなどにアクセスするものだけでなく、組織単位で認証を行い、テナント全体に対してAPI操作を行うものもあります。
なお、テナント単位で権限が必要なAPIを利用する場合、グローバル管理者の権限が必要です。
※ 権限が不要なAPIを利用する場合、クラウドアプリケーション管理者の権限で十分です。
cf. 「管理者の承認が必要」のメッセージが表示された場合の対処法 | Japan Azure Identity Support Blog
エラー応答
Microsoft Graph のエラー応答とリソースの種類 - Microsoft Graph | Microsoft Docs
ステータスコードとその説明が書かれています。 一部の詳細な例外についても触れられています。
OAuthアクセストークン
構成可能なトークンの有効期間 - Microsoft identity platform | Microsoft Docs
Azureが発行するトークンの種類が載っています。 トークンことの有効期間一覧も載っています。
cf. 構成可能なトークンの有効期間 - Microsoft identity platform | Microsoft Docs
先日調査しましたが、開発者側からアクセストークンの有効期限を変更するのは大変そうでした...。
cf. GraphAPIで利用するアクセストークンの有効期限を変更するには - Baby step - 思考と実験の足跡
AzureAD ユーザー設定
Member ユーザーと Guest ユーザーについて | Japan Azure Identity Support Blog
やや細部の話ですが、AzureADに登録するユーザーには「メンバー」「ゲスト」の2タイプがあります。 ゲストの場合は、できる操作が制限されます。
テナント外のユーザーを招待する場合は基本的にゲストとなります。 ※ 設定すれば変更できるようですが