Baby step - 思考と実験の足跡

日常のちょっとした、気になって試したこと集です。

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タイプがあります。 ゲストの場合は、できる操作が制限されます。

テナント外のユーザーを招待する場合は基本的にゲストとなります。 ※ 設定すれば変更できるようですが