わくわくtech

RPAやWEB制作などのテクノロジーにワクワクするサイト☆

RPA

UiPathでチャットワークにメッセージを送信してみた【xamlファイル付き】

投稿日:2019年5月5日 更新日:

「RPAを使ってメールやSNS、チャットツールにメッセージを送信したい!」

そんな場面、少なくないですよね。

そんなとき、ブラウザを開いて、画面遷移して、「文字を入力」して、送信ボタンを「クリック」して、なんてしていませんか???

保守性や可読性、ユーザの技術力を考慮した場合、それが間違った方法だとは言えませんが、画面を触ることによる弊害は多いはずです。

本記事では、チャットワークAPIを用いてブラウザを開くことなく、チャットワークにメッセージを送る方法を紹介します。

メールやSNSについての記事も今後投稿予定です。(2019/5/6現在)

アクティビティひとつでメッセージ送信

今回実装するのは以下のようなワークフローになります。

使用しているアクティビティは1つ!!!

これだけでチャットワークにメッセージを送信できちゃいます。

 

これを実現するためにWebAPI(エー・ピー・アイ)という技術を使用します。

APIについて簡単に、めちゃくちゃ簡単に説明すると、「Webアプリケーションの一部機能を誰でも利用できるような形にしたもの」です。

 

、、、、分かりにくいですよね。気になった方は調べてみてください。

 

理解できない方も安心してください。APIについての知識が全くなくても大丈夫です

 

事前準備

UiPathでの実装前に、APIトークンの取得ルームIDの確認を行います。

APIトークンというのは、本人確認のためのパスワードのようなもの。ルームIDは送信先のグループチャットを特定するためのユニークなIDです。

 

トークンの取得

送信元となるアカウントでログインします。

プロフィールアイコン横の『▼』から『API設定』を選択します。



パスワードを入力し、『表示』をクリックします。このパスワードはログイン時のパスワードです。

1 ビジネスプラン(管理者のいる社内チャット等)で使用されている場合、管理者の許可を求められる場合があります。ここで言う管理者とは情シス部門などが該当します。

 

チャットワークAPIを使用するためのトークンが発行されます。
このトークンは一度発行すると、再発行しない限り使い続けることができます

このトークンを使ってメッセージ送信機能を実装するのでメモしておきましょう



送信先ルームIDの確認

メッセージ送信先のルームIDはブラウザのURLから確認することができます。



URLのうち「rid」以下の数字文字列がルームIDになります。

下の場合、「134498255」がマイチャットのルームIDになります。



もちろん、ルームIDは部屋ごとにユニークな文字列になります。

ただし、同じグループチャットでも、ログインしているアカウント毎に異なるルームIDが振られます。(⇒AさんとBさんのグループチャットでも、Aさんから見たルームIDとBさんから見たルームIDは異なる。)




実装

自身のAPIトークンと送信先のルームIDが確認できたら、メッセージ送信機能をUiPathで実装していきます。

 

HTTPリクエストアクティビティ

API関連の処理はHTTPリクエストアクティビティを使用します。

このアクティビティはデフォルトでは使用できません。使用するためにはパッケージのインストールが必要です。

既にインストールされている方は以下の内容を読み飛ばし、各種設定に進んでください。

 

UiPath.Web.Activitiesのインストール

『パッケージを管理』をクリックします。



『オフィシャル』『UiPath.Web.Activities』を検索し、『インストール』します。

このパッケージはUiPath公式のパッケージですので安心して使用できます。



インストールが確認出来たら『保存』します。

パッケージのインストール作業は以上です。『HTTPリクエスト』アクティビティが使えることを確認してください。

 

各種設定

『HTTPリクエスト』アクティビティをデザイナーパネルにドロップすると、次のような『HTTPリクエストウィザード』が開かれます。

このウィザード内で設定を行ってもよいのですが、ひとまず『OK』を押してウィザードを閉じます(理由はこちら)

すると下のようにアクティビティが配置されます。

さきほどウィザード内に現れていた各種設定は、プロパティフィールド(画面右側)で設定することになります。

 

メッセージ送信のために必要な設定項目は『パラメータ』『ヘッダー』『エンドポイント』『メソッド』の4つです。

 

それぞれについて設定内容を説明します。

パラメータ

以下のように2つのパラメータを設定します。

 

self_unread・・・無くてもかまいません。値を「1」とした場合、自分から見てメッセージを未読状態にします。(既定値0)

body(必須)・・・メッセージ本文です。もちろんString型変数も設定できます。

 

2 名前項目(ここではself_unreadとbody)の文字列が間違ってると送信に失敗します。

ヘッダー

1つのヘッダー情報を以下のように設定します。

X-ChatWorkToken(必須)・・・事前準備で取得したAPIトークンを設定します。

エンドポイント

エンドポイント(※3)を以下のように設定します。【送信先ルームID】は事前準備で確認したものです。

“https://api.chatwork.com/v2/rooms/【送信先ルームID】/messages”


3 エンドポイントとは、使用する機能(ここではメッセージ送信)をURL形式で指定したもの

メソッド

メソッド(※4)は『POST』に設定します。

4 メソッドとは、(簡潔に説明すると)使用する機能の種類を指定するもので、エンドポイントとセットで1つの機能を指定します。

 

実行

設定が完了したらワークフローを実行します。

 

すると、body項目で設定した文字がメッセージとして送信されます。

 

チャットワークへのメッセージ送信の実装は以上になります。

 

HTTPリクエストウィザードを使用しなかった理由

HTTPリクエストウィザードは一度『保存』をすると再度開くことはできません

ですので、最初からプロパティフィールドを使った設定を行いました。

リクエストウィザードにはプレビューという機能があります。この機能を使うとレスポンスを容易にチェックすることができますので、気になった方はぜひ試してみてください。

 

記事内で使用したxamlファイル

記事で使用したファイル(xaml+projectファイル)をダウンロードしてお使いいただけます。

以下の注意事項をよく読み、ご納得の上でダウンロードしてください。

 

注意事項

  • xamlファイルのダウンロードにより何かしらの不具合が生じた場合、一切の責任を負いません。
  • 本記事で使用したUiPathStudioのバージョンは2019.4.2になります。お使いのStudioのバージョンが異なる場合、ダウンロードするのではなく、ご自身の環境で作成されることを強くお勧めします。
  • 「UiPath.Web.Activities」のパッケージがインストールされていな状態ですと、HTTPリクエストアクティビティは表示されません。

終わりに

記事に対する意見コメント、ワークフローについての不明点等は記事へのコメントもしくはTwitterにて私ハイダックが承ります。

また、「こんな記事書いてほしい」、「こんな処理自動化してみてほしい」等の記事案自動化相談も大変うれしく思いますので、気軽にご連絡ください

-RPA
-, , , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【AI&RPAを体験】誰でも利用できるAIツール「プロセス・ディスカバリー・ツール」を使ってみた(3)

実践編(2)です。 今回の記事は2つ目の記事の続きです。 あなたがRPA化を検討しているその業務がどのくらい自動化に適してるか?の値を出したり、自動化した際の削減工数やコストを算出したり、グラフを出し …

【AI&RPAを体験】誰でも利用できるAIツール「プロセス・ディスカバリー・ツール」を使ってみた(1)

こんにちは!ぽんすです! 面白いAIツールをBlue Prismさんに教えてもらったので、使い方解説記事を書いてみることにしました。 目次1 プロセス・ディスカバリー・ツールとは?2 実際に使ってみよ …

【AI&RPAを体験】誰でも利用できるAIツール「プロセス・ディスカバリー・ツール」を使ってみた(2)

実践編です♬ さて、プロセス・ディスカバリー・ツールの登録が完了して、デジタルワーカーからメールが届きましたでしょうか?  わくわくtech【AI&RPAを体験】誰でも利用できるAI …

UiPathでチャットワークのメッセージを取得してみた【xamlファイル付き】

チャットワークAPIを用いてチャットワークのメッセージを取得する方法を紹介します。 Hiduacハイダックと申します。仕事の傍らRPAやWeb開発を中心に勉強・発信しています。発信は本ブログとTwit …

RPAって何だろう?

私はRPAロボ開発に携わるお仕事をしています。 なのでしょっちゅう「RPAって何ですか?」と聞かれます。 RPAは、日本のビジネス界で2015年頃からじわじわと有名になってきた言葉ではありますが、まだ …