【UiPath】GSuiteアクティビティでスプレッドシートを使う
GSuiteアクティビティを使う
UiPathではExcelの情報を取得してDataTableに変換してから使用する機会がとても多いです。しかしExcelは基本的にローカルにあるため、それを共有するためにはファイルサーバ上で共有するといったような対応を取る必要があります。
そこでGoogle Spread Sheetを使用することにより、実行端末がどこにあったとしてもインターネットにさえ接続できれば簡単に情報が共有できることが想定されます。
今回はそれを可能にするGSuiteアクティビティについてまとめていきます。
- GSuiteアクティビティを使う
- この記事を読むとできること
- 前準備(Google Cloud Platform ※GCP)
- GSuiteアクティビティ
- スプレッドシートの内容
- ワークフローの内容
- ワークフローの実装
この記事を読むとできること
前準備(Google Cloud Platform ※GCP)
UiPathの実装に移る前に、下記を実施する必要があります。
・GCPの登録
・プロジェクト作成
・Google Sheets API の有効化
・サービスアカウントの設定/鍵の発行
これはGCPの設定作業になりますので、適宜検索して実施してください。
私が参考にしたのは下記の記事になります。
blog.pionet.co.jp
qiita.com
GSuiteアクティビティ
GSuiteアクティビティはGoogleのアプリケーションをUiPathから簡単に利用することを可能にします。
まずはパッケージをインストールします。
インストールが完了すると以下のようなアクティビティを利用可能となります。
Excelアプリケーションスコープと同じように、GSuite アプリケーションスコープで処理全体を囲って使用します。
今回はスプレッドシートの内容を読み込んで価格情報を取得し計算する処理を実装します。
また今回はサービスアカウントを使用するため書き込みについても検証します。
サービスアカウントのみを使ってUiPathからスプレッドシートを操作する場合はシート画面を開いて共有のユーザやグループと共有でサービスアカウントのメールアドレスを編集者として追加してください。
スプレッドシートの内容
スプレッドシートは以下のような情報が記載されています。
ワークフローの内容
ワークフローの処理の流れは以下の通りです。
1.スプレッドシートから価格を取得する
2.ネットスーパーで商品価格を取得する
3.価格を更新する
4.スプレッドシートに書きこむ
ワークフローの実装
今回の実装においてGsuiteアプリケーションスコープのプロパティの入力箇所は以下の通りです。
・キーの種類:GCPにてJSONを選択したためJSONです
・サービスアカウントのメールアドレス:設定したサービスアカウントのアドレスを入力します
・認証の種類:ServoceAccountKeyを選択します
これで認証関連の設定はOKです。次はスプレッドシートの利用方法です。
スプレッドシート関連のアクティビティはGoogle>GSuite>シートにあります。
今回は読み込みと書き込みを使用するので、範囲を読み込みと範囲に書きこみを使用します。
書き込み範囲/セルの指定以外は同じですので、範囲を読み込みを例に記載します。
設定するプロパティは以下になります。
・スプレッドシートID:スプレッドシートのドキュメントIDを入力します
※参考:https://blog-and-destroy.com/33158
・範囲:読み込みたい範囲を入力します(今回は全体で良いのでブランク)
・出力:結果を格納するDataTable型の変数を入力します
公式ドキュメントは下記になります。
docs.uipath.com
これで読み込みと書き込みの部分は完了です。価格取得/書き込み処理も含めたxamlの全体は下記になります。
作成したプロジェクトは下記で公開していますので、各値を設定の上ぜひお試しください。
github.com
※設定必要な項目の箇所は入力エラーにしています