※本記事は@t_a_u_e25さんの記事に続く「RPA (Robotic Process Automation) Advent Calendar 2021」11日目の記事となります。
※ 本記事は2021年12月時点での情報を元にしています。今後のアップデートにより仕様が変更される可能性がある点はご注意ください。
3か月ほど前にPower Automate for desktop(PAD)でSlackにファイルをアップロードするフローを作成しました。
curlでSlack APIを叩いてファイルアップロードすることもできますが、ファイル名に日本語が含まれていると面倒くさいことになりそうです…🙄 https://t.co/4YuW33apgT #PowerAutomateDesktop https://t.co/9MsmlO5qf9 pic.twitter.com/PokQ2fGvUN
— きぬあさ (@kinuasa) September 15, 2021
%Command%
curl -F file=@"%UploadFilePath%" -F channels=%Channels% -F token=%BotToken% https://slack.com/api/files.upload
下記記事のようにトークンの取得やアプリの設定が必要になりますが、「DOS コマンドの実行」アクションでcurlコマンドを使ってファイルアップロード用のAPIを実行するだけなので非常にシンプルな内容です。
ところが、上記フローではファイル名に日本語が含まれているファイルをアップロードするとファイル名が正しく認識されません。
ファイル自体はちゃんとアップロードされているし、ファイル名に日本語を使わなければ良いだけの話なのですが、ちょっとスッキリしません。
そこで色々試行錯誤してみたのですが、結果としては下記PowerShellスクリプトのようにファイル名を「ISO-8859-1」でエンコードすれば上手くいくことが分かりました。
このスクリプトを組み込んで日本語のファイル名にも対応した、Slackにファイルをアップロードするフローが下記になります。
メインの処理をスクリプトで行っているのでフロー自体はそれを実行するだけですが、これで安心してSlackへのアップロード処理を組み込むことができるようになりました。
関連Webサイト
今回の記事はこれで終了です。
RPA (Robotic Process Automation) Advent Calendar 2021、12日目の記事は@cal_mgcさんの下記記事になります。
この記事へのコメントはありません。