Additional features, settings, or issues not covered by specific Microsoft Teams categories
Yuki Kimura さん、こんにちは。
①/communications/onlineMeetings/getAllRecordings → 受信側のFunctionに変更通知自体が連携されない
こちらについて私も手元で試してみたのですが、"今すぐ会議" で会議を開催した場合はレコーディングを開始しても変更通知が行われない動作になりました。カレンダから予定(スケジュール)を登録して開催した会議では通知が行われました。
会議のレコーディングを取得する Graph API の公開情報を見ると、現時点ではGraph API でレコーディングを取得できるのはカレンダからスケジュールを登録して開催した会議のみでした。そのため変更通知でも同様にカレンダから登録した会議のみが通知される動作になっている可能性が高そうです。
スケジュールされた onlineMeeting に関連付けられている callRecording オブジェクトを取得します。
https://learn.microsoft.com/ja-jp/graph/api/callrecording-get?view=graph-rest-1.0&tabs=http
明確な公開情報は見つからず、さらに調査が必要でしたら M365 管理センターからサポートリクエストを起票してサポート窓口へお問い合わせいただくのが宜しいかと存じます。
スケジュールされた会議の場合は変更通知に userId, meetingId, recordingId が含まれますので、これらの情報からGraph API でレコーディングの情報を取得することができます。
※変更通知に含まれる情報
"resourceData": { "id": "VjIjIzE1NmVk...", "@odata.type": "#Microsoft.Graph.callRecording", "@odata.id": **"users('c1fe9cb2...')/onlineMeetings('MSpjMWZlOWNi...')/recordings('VjIjIzE1Nm...')"** }
任意のユーザーが開始したレコーディングを Graph API で取得するには、アプリケーション許可権限で Graph API を実行する必要があります。また対象ユーザーへのアプリケーションアクセスポリシーの割り当てが必要です。
※ Graph API でレコーディングを取得する PowerShell スクリプトの例
# ※ 事前以下の準備が必要です
# 1. Entra ID アプリケーションに "OnlineMeetingRecording.Read.All" アプリケーション許可権限を付与する
# 2. 対象のユーザーにアプリケーションアクセスポリシーを割り当て、1のアプリケーションにレコーディングの取得を許可する
# 3. 1のアプリケーションを指定して Connect-MgGraphコマンドで認証する
# 対象のユーザーID
$UserId = "c1fe9cb2..."
# 対象の会議ID
$MeetingId = "MSpjMWZlOWNi..."
# 対象のレコーディングID
$RecordingId = "VjIjIzE1Nm..."
# Get callRecording API でレコーディングを取得
$Uri = "/v1.0/users/$UserId/onlineMeetings/$MeetingId/recordings/$RecordingId"
$response = Invoke-MgGraphRequest -Method GET -Uri $Uri -OutputType PSObject
# 取得したレコーディングを MP4 ファイルに出力
$OutputDir = "C:\Temp"
# レコーディングをダウンロードして保存します
$OutputFilePath = $OutputDir + "/recording.mp4"
Invoke-MgGraphRequest -Uri $response.value.recordingContentUrl -OutputFilePath $OutputFilePath
アプリケーション許可権限でレコーディングを取得する方法についての詳細は以下の記事がご参考になれば幸いです。