コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

Graph APIを用いてオンライン会議や仮想会議へアクセスを行えるようにする


スポンサードリンク

はじめに

Graph APIを用いて、 /onlineMeetings リソースなどにアクセスするためには、アプリケーションのアクセス登録を行う必要があります。

learn.microsoft.com

そのやり方がこちらになるのですが、微妙にわかりにくかったのでやり方メモ。

learn.microsoft.com

アプリケーション アクセス ポリシーを構成する

アプリケーションの登録

こちらの記事を参考にアプリケーションの登録を行ってください。

なおここでは、"APIのアクセス許可"より、 OnlineMeetings.ReadWrite は付与しなくても大丈夫です。

koruneko.hatenablog.com

これにより作成されたアプリケーションIDを控えておいてください。

Microsoft Teams PowerShell Moduleのインストール

Skype for Business Online Connector は現在、最新の Teams PowerShell モジュールに含まれています。 最新の Teams PowerShell パブリック リリースをご利用の場合は、Skype for Business Online Connector をインストールする必要はありません。

とのことですので以下ドキュメントを参考にMicrosoft Teams PowerShell Moduleをインストールします。

learn.microsoft.com

ここはそんなに躓くこともないので割愛。

アプリケーションアクセスポリシーの作成

New-CsApplicationAccessPolicyコマンドを用いて、アプリケーションのアクセスポリシーを構成します。

ここで先ほど作成したアプリケーションIDが必要になってきます。

以下コマンドを実行します。

New-CsApplicationAccessPolicy -Identity [Your Policy Name] -AppIds "[ApplicationId]" -Description "[description here]"

[] で囲まれた要素は適宜自身のものに置き換えて実行してください。

委任許可の設定

Grant-CsApplicationAccessPolicyコマンドを用いて、特定のユーザにアクセス許可を設定します。

Grant-CsApplicationAccessPolicy -PolicyName [Your Policy Name] -Identity "[Your Delegation UserId]"

[] で囲まれた要素は適宜自身のものに置き換えて実行してください。

(省略可能)テナント全体にポリシーの設定

多分これはやりたくないという管理者の方の方が圧倒的多数だと思いますが、ドキュメントに記載があるので一応記載。

Grant-CsApplicationAccessPolicy -PolicyName [Your Policy Name] -Global

おわりに

AADの画面からAPIのアクセス許可をしたのに以下のようなエラーが最初でてきて、あー。。。となってこの記事を作成しました。

No Application Access Policy found for this app.

ちなみに、Power AutomateからGraph APIを実行しようと思うと、Office 365 GroupのHTTP要求を送信アクションを利用する方が多いかと思いますが、このアクションは会議リソースへはアクセスできないので注意。

やるのであればHTTP応答を利用する必要があります。

また、委任による実行を行う場合 /me リクエストは行えないので注意してください。

/me request is only valid with delegated authentication flow.

meによって自身を取得ができないからですね。

やるのであれば /users/{user id} での呼び出しが必要になってきます。


スポンサードリンク