ゆとりSEは副業がしたい

ゆとりSE

RPAやPythonをはじめとした情報系の発信やガジェットの紹介などがメインです

【UiPath】アクティビティ3つでUiPathからLINEのメッセージを送信する

f:id:oichiki:20220125234427p:plain

UiPathでLINEを使いたい

UiPathはOutlookGmailを利用してメールを送信することが簡単に実装が可能です。ただ、昨今ではメールよりもLINEが連絡手段としてはメインになっていると思うので、今回はLINEのMessagingAPIを使用してUiPathからLINEを送信する方法を備忘録として残しておきたいと思います。 今回は以前記事にした家計簿ボットのものをそのまま使用して行います。 家計簿ボットについては下記をご覧ください。
autolazy.hatenablog.jp

参考書籍

事前準備

MessagingAPIを使うため事前に準備が必要になります。 LINE Messaging APIでは新規チャネルを作成しMessaging APIを選択します。チャネルを作成したら「Channel access token (long-lived)」と「Your user ID」を控えておいてください。※「Your user ID」は自分のLINEのIDになります。
リクエスト用のJSONを1からキレイに作成するのは少し面倒くさいので、今回はPostmanを使用します。インストールすれば簡単に使用できるので、必要な方は下記よりダウンロードしてください。
www.postman.com

JSONの作成

JSONをtxtファイルとして作成しUiPathのHTTP要求アクティビティを用いることで、簡易的にLINEの送信を行います。 Postmanを開いて下記の通りPOSTを選択し、エンドポイントには以下を設定します。

エンドポイント:https://api.line.me/v2/bot/message/push


次にHeaderタブを選択し、Content-TypeとAuthorizationを入力します。 Content-Typeには「application/json; charset=UTF-8」、Authorizationには先頭に「Bearer 」を付けて先ほど控えた「Channel access token (long-lived)」を入力します。(Bearerの後ろには半角スペースが入ります」

f:id:oichiki:20220125224157p:plain

次にBodyタブを選択し、rawのチェックボックスを選択します。 記載内容は以下の通りです。

f:id:oichiki:20220125224201p:plain

「to」には控えてある「Your user ID」を入力します。 「type」には「text」を入力し、「text」には「{0}」を入力します。一通り記載した後はエディタ右上のBeautifyをクリックするとJSONをキレイに整列してくれます。

この状態でSendをクリックし自分のLINEに「{0}」が送られてきたら準備は完了です。 txtファイル作成前に{0}の箇所以外の中括弧を二重にします。※{ → {{、 } → }} 後はBodyタブで記載したJSONを全選択してtxtファイルに貼り付けます。名前はjson.txtとします。(なんでもいいです)

UiPath側の実装

次はUiPath側の実装です。今回は送信するだけの実装にするので、使用する際はLINEを送りたい箇所に組み込んでいただければと思います。

まず先ほど作成したtxtファイルをプロジェクト直下に配置します。(パスが辿れればどこにおいても構いません)

f:id:oichiki:20220125230011p:plain

今回はHTTP要求のアクティビティを使用するので、インストールされていない場合はパッケージを管理からUiPath.WebAPI.Activityをインストールしてください。 後は下記の通り実装するだけです。

f:id:oichiki:20220125231454p:plain

まずはテキストファイルから読み込むのアクティビティを使用して、JSONのtxtファイルを読み込みます。 読み込んだtxtファイルはメッセージ部分が{0}になっているので、String.Formatを使用して書き換えます。今回は以下のように書き換えています。

String.format(str_json, "UiPathから送信しています")

最後はHTTP要求アクティビティで送信を行います。設定箇所は以下になります。

f:id:oichiki:20220125232450p:plain

エンドポイント:https://api.line.me/v2/bot/message/push
メソッド:POST
本文:str_json ※自身で設定した変数名になります
本文形式:application/json

ヘッダーもPostmanと同じように設定します。

f:id:oichiki:20220125232959p:plain

後は実行して問題なくLINEメッセージが届けば完了です。

まとめ

今回はUiPathからLINEを使用する方法についてまとめました。企業で利用する際はメールがほとんどと思いますが、小さいグループでの運用や個人利用ではLINEの方が便利かと思います。他にも様々なAPIを利用してより便利に使用できるような物があれば、随時記事に残していきたいと思います。