以下の内容はhttps://mofumofupower.hatenablog.com/entry/2025/01/25/142448より取得しました。


【Tips】即時実行型のフローで実行者のメールアドレスを取得する

小ネタです。

SharePointのリストでアイテムを選択して実行するようなフローや、Excel for businessのテーブルの選択行に対して実行するようなフロー、またボタンを押して実行するフローなどの即時実行型のフローで実行者(自分)のメールアドレスを取得する方法の紹介です。

『動的コンテンツに表示されるんだからそれ使えばいいのでは?』と思われるかもしれませんが、実際に実行してみると残念ながらbase64エンコードされた値になります。

でもほしいのはデコードされた(人間に読める)メールアドレスなので、これを戻したい。

解決方法の1つは、Power Automateの関数 "decodeBase64()" を使ってデコードすることです。

これをすれば問題なく通常よく使うメールアドレス(普通の文字列)が取れます。

解決策のもう1つは直接メールアドレスが入ってる要素にアクセスする方法です。

数式バーで "User email" の動的コンテンツを選択すると、その正体は triggerOutputs()?['headers']?['x-ms-user-email-encoded'] であることがわかります。

"email-encoded" とついているくらいなので、エンコードされていないemailもあるだろう!とheaders を見てみると

ありました。その場合のキーは x-ms-user-email (-encoded なし)であることがわかります。

ということで解決策の2こめは triggerOutputs()?['headers']?['x-ms-user-email'] を指定することです!

『そんな長いの間違いなく打てる気がしないよ~』と思われるかもしれませんが、大丈夫。数式バーでUser emailを選択して、"-encoded" 部分を消せば期待する要素を取得できます。

これでフロー実行者のメールアドレスをフローの中で利用できるようになりました。

例えば選択したアイテムについて、他の人にリマインダーを送りつつ、自分をCCに入れるみたいな使い方ができるかなと思います。

即時実行系のフローで実行者のメールアドレスをべた書きではなく、動的に取得したいと思った場合には参考にしてみてください




以上の内容はhttps://mofumofupower.hatenablog.com/entry/2025/01/25/142448より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14