M365関連

C#・PowerShellで会議室のイベントを取得(アプリケーション版)<準備編>

以前、業務で会議室の使用状況を取得するツールを作成する必要があり、その際に調べて実装したメモとなります

API アクセス許可の違い

GraphAPIを使用する際には用途に合った権限が必要となるのですが、以下2種類あります
各権限については以下のサイトを参照してください

MSサイト
Microsoft Graph REST API v1.0 エンドポイント リファレンス - Microsoft Graph v1.0 | Microsoft Learn
Microsoft Graph REST API v1.0 エンドポイント リファレンス - Microsoft Graph v1.0 | Microsoft Learn

v1.0 エンドポイントで Microsoft Graph REST API の参照コンテンツを検索します。これには、一 ...

続きを読む

アプリケーション許可

この許可が付与されると本来は実行ユーザーがアクセスできないデータにもアクセスできるようになります。そのため、APIアクセス許可を付与する際に基本的に管理者の承認が必要となります。なので、場合によってはセキュリティ的に使用できないかもしれません

MSサイト
ユーザーなしでアクセスを取得 - Microsoft Graph | Microsoft Learn
ユーザーなしでアクセスを取得 - Microsoft Graph | Microsoft Learn

アプリが Microsoft ID プラットフォームからアクセス トークンを取得し、独自の ID で Microsoft ...

続きを読む

委任されたアクセス許可

この許可が付与されると認証時に使用したユーザーがアクセスできないデータにアクセスはできません。また、データに対する書き込みを含むものだと管理者の承認が必要となります

MSサイト
ユーザーの代わりにアクセスを取得 - Microsoft Graph | Microsoft Learn
ユーザーの代わりにアクセスを取得 - Microsoft Graph | Microsoft Learn

アプリがMicrosoft ID プラットフォームからアクセス トークンを取得し、ユーザーの代わりに Microsoft ...

続きを読む

Azureでのアプリケーション登録

アプリの作成

Auzre上の検索窓で「アプリの登録」と検索する

「新規登録」をクリックします

ここからは各々の用途に合わせて設定してください
アプリケーション名には「会議室取得」としてます。サポートされているアカウントの種類を「この組織ディレクトリのみに含まれているアカウント(シングルテナント)」とし、リダイレクトURIは今回使用しないので設定しません。登録ボタンをクリックする

APIアクセス許可の設定

作成したアプリ画面に遷移するので「APIのアクセス許可」>「アクセス許可の追加」をクリック

「MicroSoft Graph」>「アプリケーションの許可」の順番にクリックし、検索窓に「calendars」と入力します。「Calendars.Read」を選択し、「アクセス許可の追加」ボタンをクリック

管理者の同意を付与します。「~に管理者の同意を与えます」をクリックして付与します
付与が完了すると「~に付与されました」と表示に変わります

アクセストークンを取得できるようにするため、「認証」>「アクセストークン(暗黙的なフローに使用)」にチェックをつけて「保存」ボタンをクリックします

アクセストークンを取得できるように設定

シークレットキーの作成

アクセストークンを取得する際に使用するシークレットキーを作成します
「証明書とシークレット」>「クライアント シークレット」タブ>「新しいクライアントシークレット」

有効期限は使用する期間や運用によって変えてください

作成したクライアントシークレットの値の横に下画像で赤く囲ったボタンをクリックするとコピーされます。コピーされた値をトークンを取得する際に使用します。このボタンは一定時間後には消えてしまい、再度コピーできなくなりますので注意が必要です

-M365関連
-,