UiPathで無料のGoogle翻訳機能を作る方法

UiPathでお手軽に翻訳機能を実現するため、UiPathからGoogle Apps Script経由でLanguageApp クラスを利用して見ました！
この記事は、Google Apps Scriptによる翻訳APIの構築手順とUiPathからHTTP要求アクティビティを使用して翻訳APIを呼び出す方法を紹介します。

※フリーのGoogleアカウント（Gmailアドレス）でお試しできますが、Google Apps Scriptには１日の利用制限等あります。詳しくはGoogle Apps Scriptの利用規約をご確認ください。
※UiPath Studio Community Edition 2020.4.1を使用しています。
※Google Apps Scriptのコードは[3 分で作る無料の翻訳 API with Google Apps Script](https://qiita.com/tanabee/items/c79c5c28ba0537112922)こちらの記事を参考にさせて頂きました。

# Google Apps Scriptによる翻訳APIの構築手順
まずは、翻訳APIを構築して見ましょう。
## (1) Google Apps Scriptにアクセスする。
https://script.google.com/
にアクセスし、「新しいプロジェクト」をクリックします。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/b499c585-13bd-8a20-2e14-b425a8a0eea6.png)

## (2) コードを実装する。
コードを実装（下記のコードをコピーして貼付けてください）

```
function doGet(e) {
  var p = e.parameter;
  var translatedText = LanguageApp.translate(p.text, p.source, p.target);
  return ContentService.createTextOutput(translatedText);
}
```

![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/52641377-b34e-eef3-8a9c-32ec9e3c0440.png)

## (3) 公開する。
下記の手順で公開。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/24c5937a-81ef-c2fa-3af0-dbe1362bf2fc.png)
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/70249f62-e1df-c9fb-2349-d6355b9f9494.png)
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/ef2aad7c-998b-d50b-b3ed-9aa877411115.png)
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/b0c29409-73da-c183-745d-901265c0f3ae.png)

# UiPathからGoogle Apps Scriptで構築した翻訳APIを呼び出す方法
次に構築した翻訳APIをUiPathから呼び出します。

## (1) パッケージをインストールする。
パッケージ管理からUiPath.Web.Activitiesをインストールします。今回バージョンは1.4.4を使用しました。
このアクティビティで翻訳APIを呼び出します。
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/4de387db-9264-d4fe-4d60-558c379e5c43.png)

## (2) HTTP要求アクティビティを挿入する。
アクティビティパネルの検索から「HTTP要求」を入力し、デザインパネルに挿入します。
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/3ef836c8-4572-272b-9341-bd7c53adfc4c.png)
HTTP要求ウイザードが表示されますが、プロパティで直接設定するので、ここではそのままOKボタンを押します。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/b5f51dd8-48b9-ca4f-8f2c-5ce66ca69c1c.png)

## (3) 変数を定義する。
HTTP要求アクティビティに設定する変数を定義します。
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/63738cac-8440-09ec-eceb-aa6261320f2d.png)

## (4) HTTP要求アクティビティのプロパティを設定する。
赤枠部分に設定値を入力します。
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/e5288b35-b34d-b7fd-c359-da232635f816.png)
※エンドポイントの設定は下記のようになっています。赤線部分にGoogle Apps Scriptによる翻訳APIの公開で取得したURLをコピーします。
※"en"（英語）と"ja"（日本語）を変更することで、別の言語の翻訳ができます。その場合は下記のURLのコードを参照してください。
https://cloud.google.com/translate/docs/languages
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/ff01cb32-d0ab-ad42-ecc4-da777dd8e229.png)

```
"Google Apps Scriptによる翻訳APIの公開で取得したURL"+"?text="+Text+"&source="+"en"+"&target="+"ja"
```

## (5) 試しにダイアログに入力した英語を日本語で表示する処理を作成します。
赤枠部分は定義した変数を設定します。
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/3a92f47d-4e68-6ac4-a6f7-ab2991d36b23.png)

## (6) 動作確認します。
実行して見ましょう。
入力ダイアログで"Hello"を入力して、OKボタンを押します。
![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/5ba9abd5-e53c-5cb0-cce3-d03840e44191.png)
翻訳され"こんにちわ"と表示されば成功です。
![16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/a50c671d-998f-061c-e308-3238b26c9827.png)

# まとめ
本記事ではエラーハンドリングを割愛してますので、必要に応じてリトライスコープやStatusコードのチェック等を入れると良いでしょう。
本記事のGoogle Apps Script利用は制限等でヘビーな使い方はお勧め出来ませんが、フリーのGoogleアカウントだけで、すぐに使えるのが便利ですね。

次回、この仕組みを利用したお手軽なアプリケーション構築事例を紹介したいと思います。