このワークスペースにある EWS を使用したアプリケーションを分析し、Microsoft Graph を使用する実装へ移行してください。 移行にあたって、次の作業を行ってください。 - コード全体を確認し、使用している EWS の操作、認証方式、入力、出力、エラー処理、外部から見た動作を特定する - EWS の各操作に対応する Microsoft Graph v1.0 の API と、機能や動作の差を確認する - 現在の言語、実行環境、認証方式、公開されているパラメーターや戻り値をできる限り維持する - 1 対 1 で置き換えられる Graph API がない場合も、複数の Graph API、取得後の処理、呼び出し側などを変更することで、アプリケーション全体として現在の動作を維持できるか検討する - アプリケーション全体の動作を維持するために必要であれば、EWS を呼び出している箇所だけでなく、その前後のコードも含めた変更を提案し、整合するように編集する - 既存のエラー処理と秘密情報の扱いを維持し、実環境の値をコードへ埋め込まない - 移行後の処理に必要な最小の Microsoft Graph のアクセス許可を、委任されたアクセス許可かアプリケーションのアクセス許可かを含めて示す - Microsoft Entra ID で変更が必要な設定を示す - 現在の動作を維持できない箇所は、変換不能と判断する前に、Microsoft Graph との機能差、データ モデル、アクセス許可、認証方式などの理由を特定する - その箇所を変換できるようになる条件と、考えられる代替方法、代替方法を採用した場合の動作の違いを示す - コードから動作を判断できない箇所は推測で実装せず、不足している情報と確認方法を示す - 現在の動作を維持した移行を完了した後に、Microsoft Graph の機能を活用して効率化できる処理や、見直せる要件と実装がないか分析する - 改善候補は互換性を維持するための変更と分け、期待できる効果、動作への影響、採用前に人が確認すべき要件とともに提案する。確認を得るまでは改善候補をコードへ反映しない 書き換え後に、特定した現在の動作、EWS と Microsoft Graph の対応関係、変更した箇所、必要なアクセス許可、維持できない動作とその理由、変換可能になる条件、移行後に人が確認すべき項目を簡潔に説明してください。さらに、互換性を維持するための変更とは別に、Microsoft Graph を前提とした改善候補を示してください。