4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Power Apps】ログインユーザーとメールアドレスから表示名を取得する方法(202601部会企画)

4
Last updated at Posted at 2026-01-09

目次

  1. はじめに
  2. 背景と課題
  3. Power AppsとOffice365Usersコネクタを使った実装方法
  4. まとめ
  5. 参考文献

はじめに

この記事では、Microsoft Power Appsを使って、ユーザーのディスプレイネーム(表示名)を取得して表示する方法を解説します。

具体的には、Office 365 Usersコネクタを活用し、次の2つのパターンでディスプレイネームを取得する手法を紹介します :writing_hand_tone1:

  • ログインしているユーザーから直接ディスプレイネームを取得する方法
  • メールアドレスをキーにして該当ユーザーのディスプレイネームを取得する方法

どちらの方法も共通して、ユーザーのディスプレイネームを正確に表示したいという目的があります。

状況や用途に応じて適切な方法を選択して活用してください。

背景と課題

Power Appsを利用した業務アプリでは、ユーザーの情報を適切に取得・活用することが業務効率化やユーザー体験の向上に欠かせません。
特に「誰が操作したのか」「誰が申請したのか」といった情報を正確に記録・表示するケースが多く存在します。

しかし、単純にユーザー名で検索や表示を行うと、同姓同名のユーザーが複数いる場合に混乱や誤認が発生するリスクがあります。
さらに、操作対象のユーザーをユーザー自身に選択させる仕組みを導入した場合でも、誤って別人を選択してしまう問題が起きやすくなります。

そこで、確実かつ正確にユーザーのディスプレイネームを取得するためには、ログインしているユーザー本人の情報を自動取得する方法が有効です。
また、メールアドレスから該当ユーザーの表示名を取得する方法もあり、用途に応じて使い分けることが求められます。

以下に、それぞれの方法がどのような場面で役立つかを示します。

1.ログインユーザーからディスプレイネームを取得する方法が役立つシーン

  • フォーム送信時に、現在ログイン中のユーザー名を自動入力して入力ミスを防ぎたい場合
  • ユーザーが個別の画面で自分の名前を確認したい場合
  • 操作ログや履歴画面にログインユーザー名を表示して、誰が操作したかを明示したい場合

2.メールアドレスをキーにディスプレイネームを取得する方法が役立つシーン

  • 承認フローの履歴リストや申請一覧など、多数のユーザーの情報を一覧表示したい場合
  • メールアドレスを元に担当者の表示名を動的に切り替えたい場合
  • 他のシステムやデータソースから取得したメールアドレスに紐づくユーザー情報を表示したい場合

これらの特徴を踏まえ、業務要件に最適な方法を選択して活用してください。

Power AppsとOffice365Usersコネクタを使った実装方法

Power Appsでログインユーザーの情報を扱うには、Office 365 Users コネクタを活用するのが便利です。このコネクタを使うと、現在ログインしているユーザーのプロフィール情報を簡単に取得できます。

1. ログイン中のユーザーのディスプレイネームを取得するパターン

現在ログインしているユーザーの表示名をそのまま取得し、フォームや画面に表示したい場合は、以下の式を使用します。
フォームのDefaultプロパティやラベルのTextプロパティなどに設定すると便利です。

If(
    !IsBlank(Office365Users.MyProfileV2().displayName),
    Office365Users.MyProfileV2().displayName,
    "ユーザー情報なし"
)

Office365Users.MyProfileV2() 関数は現在ログインしているユーザーの情報を返し、その中の displayName プロパティを取得します。

表示名が取得できない場合には「ユーザー情報なし」と表示されます。

この方法は、ユーザー自身の名前を自動で取得するため、入力の手間を省き、誤入力を防止するのに役立ちます。

2. メールアドレスリストから対応するディスプレイネームを表示するパターン

一方、メールアドレスのリストがあり、それぞれのメールアドレスに対応するユーザーの表示名を画面に表示したい場合は、次のようにします。

IfError(
    Office365Users.UserProfileV2(ThisItem.Email).displayName,
    ThisItem.Email
)

ThisItem.Email は現在のアイテムのメールアドレスを指します。UserProfileV2 関数を使って、このメールアドレスに紐づくユーザープロファイルから displayName を取得します。

もし displayName の取得でエラーが発生した場合(例:ユーザーが存在しないなど)は、代わりにメールアドレスを表示するようにしています。

この方法だと、名前が取得できない場合でもメールアドレスが画面に表示されるため、情報の欠損を防げます。

ただし、大量のデータを扱う場合はAPI呼び出しが増え、パフォーマンスに影響が出ることがあるため、必要に応じてキャッシュの活用や呼び出し回数の最適化を検討してください。

まとめ

今回は、Power Appsでユーザーのディスプレイネームを取得する2つの方法をご紹介しました。
ログインユーザーから直接取得するパターンと、メールアドレスをキーに取得するパターンです。

どちらもOffice 365 Usersコネクタを活用することで、正確なユーザー情報を取得し、入力の手間や誤入力を減らせます。

今回ご紹介した方法が必ずしも唯一の手法ではありませんが、多くのシーンで実践的かつ効果的に使える方法です。

APIコールの負荷やパフォーマンス面には注意が必要なため、運用規模や環境に応じて適宜調整しながら活用してください。

今後はPower Automateとの連携やさらなる運用改善も検討し、効果的なユーザー情報活用を目指していきましょう:muscle_tone1:

参考文献

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?