前回、URIエンコードについて書いたので、今度はURIデコードをデスクトップフロー(Power Automate for desktop)でやってみます。
Power Automate for desktop クライアント のバージョン
バージョン: 2.53.180.25037
URIエンコードについては
前回の記事が参考になります。
URI デコード
標準アクションでURIデコードするアクションがないので、 PowerShell スクリプトを利用してURIデコードします。
デスクトップフローとしてはこんな感じ。
コピペで貼れるようにRobinも記載しておきます。
**REGION URLデコード SET URI TO $'''%'https%3a%2f%2fwww.microsoft.com%2fja-jp%2fpower-platform'%''' Scripting.RunPowershellScript.RunPowershellScript Script: $'''#HttpUtilityクラス を有効化 Add-Type -AssemblyName System.Web # System.Web.HttpUtility クラスを使用して URL をエンコードします $decodeUrl = [System.Web.HttpUtility]::UrlDecode(\"%URI%\") # 結果を表示します Write-Output $decodeUrl''' ScriptOutput=> PowershellOutput Text.Trim Text: PowershellOutput TrimOption: Text.TrimOption.ToEnd TrimmedText=> TrimmedText **ENDREGION
変数の設定
URIエンコードされた文字列には「%」が含まれるため、変数に設定する際には頭に「%'」、おしりに「'%」と入力する必要がありますのでご注意ください。
「https://www.microsoft.com/ja-jp/power-platform」のURLをエンコードした「https%3a%2f%2fwww.microsoft.com%2fja-jp%2fpower-platform」を変数に設定します。
Robin
SET URI TO $'''%'https%3a%2f%2fwww.microsoft.com%2fja-jp%2fpower-platform'%'''
参考
PowerShell スクリプトの実行
スクリプト内で、デスクトップフローの変数が利用できるので、先ほど作成した変数をPowerShell スクリプトの中に設定します
#HttpUtilityクラス を有効化 Add-Type -AssemblyName System.Web # System.Web.HttpUtility クラスを使用して URIデコードします $decodeUrl = [System.Web.HttpUtility]::UrlDecode("%URI%") # 結果を表示します Write-Output $decodeUrl
Robin
Scripting.RunPowershellScript.RunPowershellScript Script: $'''#HttpUtilityクラス を有効化 Add-Type -AssemblyName System.Web # System.Web.HttpUtility クラスを使用して URL をエンコードします $decodeUrl = [System.Web.HttpUtility]::UrlDecode(\"%URI%\") # 結果を表示します Write-Output $decodeUrl''' ScriptOutput=> PowershellOutput '
テキストのトリミング
PowerShell スクリプトの実行結果に改行が入るので、改行を削除します。
改行の削除にはテキストのトリミングを利用しています。
テキストのトリミングという名前のアクションは2つあるので注意が必要です。
トリミング対象で「末尾の空白文字」で改行を削除できます。
Robin
Text.Trim Text: PowershellOutput TrimOption: Text.TrimOption.ToEnd TrimmedText=> TrimmedText
実行結果
URIデコードされた値が取得できています。
さいごに
URIエンコード文字列をデコードしてみました。
Power Automate Premium のライセンスがあると使えるクラウドフロー系のアクションだと戻り値がURIエンコードされた値の時があるので、デコード方法を覚えておくと値の確認がしやすくなります。