Power Apps には User 関数という現在のユーザーに関する情報を返す関数があり、User 関数の Email プロパティ「User().Email」で現在のユーザーのメールアドレスを取得している方も多いのではないでしょうか。
この「User().Email」ですが、”Email” というプロパティ名なので現在のユーザーのメールアドレスを返すと思われがちですが、実際にはこの関数が返すのは User Principal Name (UPN) と呼ばれる Microsoft 365 にログインする際の ID です。
この UPN と実際のメールアドレス (SMTP メールアドレス) が同じ場合は「User().Email」でもメールアドレスが取得できることになりますが、組織によっては UPN と SMTP メールアドレスをそれぞれ別に設定していることもあります。そのため、UPN と SMTP メールアドレスが別の環境では「User().Email」でメールアドレスは取得できません。
メールアドレスを確実に取得する方法
現在のユーザーのメールアドレスを確実に取得したい場合は、Office 365 ユーザーコネクタを用いて「MyProfileV2」関数の「mail」プロパティを利用します。
Office 365 ユーザーコネクタの追加手順
Office 365 ユーザーコネクタを利用するにはまず以下手順でアプリに接続として追加する必要があります。
1. 左のナビゲーションメニューから「データ」をクリックします。

2. 「データの追加」をクリックします。

3. 「データ ソースの選択」の検索ボックスに “Office 365 ユーザー” と入力し、絞り込まれた結果から「Office 365 ユーザー」をクリックします。

4. 再度「Office 365 ユーザー」をクリックして接続を追加します。

現在のユーザーのメールアドレスを取得する式
Office 365 ユーザーコネクタを接続として追加した後、以下式で現在のユーザーのメールアドレスを取得できます。
office365Users.MyProfileV2().mail
「User().Email」は Power Apps に組み込まれている関数ですぐに使うことができますが、UPN を返すためメールアドレスを元に処理を実装したい場合、組織の環境によっては不適切となります。確実にメールアドレスを取得したい場合は Office 365 ユーザーコネクタを利用すると良いです。
SxS (エスバイエス) では、日々更新される Microsoft 365 のアップデート情報を資料にまとめて分かりやすくご紹介するサービスもご提供しております。
この度、過去にご紹介した『アップデート情報資料』をご覧いただける、SxSサービス紹介資料 をご用意いたしました!
SxSのサービス内容についての詳しいご案内もございますので、ぜひ以下より資料をダウンロードしてご確認ください!
資料ダウンロードはこちらから!