- 概要
- 暗号化
- データベース
- Java
- Python
- Web API
開発者向けのアクティビティ
次の例では、[ HTTP 要求 ] や [ JSON を逆シリアル化 ] などのアクティビティを使用して、パブリック API を呼び出し、情報を抽出して、結果を表示する方法を説明します。これらのアクティビティは、 UiPath.WebAPI.Activities パッケージに含まれています。
言語検出 API を使用してテキスト内の言語を検出するための 3 つのワークフローがあります。1 つ目のワークフローは言語の辞書を作成し、2 つ目は単一のテキストで言語を検出し、3 つ目は複数のテキストで言語を検出します。
言語辞書の作成
このワークフローは、言語コードと名前を含む CSV ファイルから言語辞書を作成します。このワークフローは、他の 2 つのワークフローで呼び出されます。
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
- この例で説明するプロジェクトを含むアーカイブをダウンロードし、languages.csv ファイルをプロジェクト フォルダーにコピーします。
- デザイナー パネルに [シーケンス] コンテナーをドラッグします。
-
次の変数を作成します。
変数名 変数の型 既定値 LanguagesDTデータ テーブル
-
- [シーケンス] コンテナー内部に [CSV を読み込み] アクティビティを追加します。
- 式
"languages.csv"を [ファイル パス] フィールドに追加します。 - [プロパティ] パネルで、[データ テーブル] フィールドに変数
LanguagesDTを追加します。
- 式
- [CSV を読み込み] アクティビティの後に [代入] アクティビティを追加します。
-
式
out_LanguagesDictionaryを [左辺値 (To)] フィールドに追加します。 -
[右辺値 (Value)] フィールドに式
LanguagesDT.AsEnumerable.ToDictionary(of string, string)(function(row) row("Code").ToString, function(row) row("Language").ToString)を追加します。
-
- プロセスを実行して辞書を作成します。
単一のテキストで言語を検出する
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
- デザイナー パネルに [シーケンス] コンテナーをドラッグします。
-
次の変数を作成します。
変数名 変数の型 既定値 APIKey文字列 Text文字列 Result文字列 StatusCodeInt32 LanguagesDictionaryDictionary<String, String> LanguageCode文字列 ReliableBoolean ConfidenceDouble LanguageName文字列
-
- [シーケンス] コンテナー内に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
APIKeyを追加します。 - [右辺値 (Value)] フィールドに式
"demo"を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- [代入] アクティビティの後に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
Textを追加します。 - [右辺値 (Value)] フィールドに式
"Hello. This is a sample test."を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- [代入] アクティビティの後に [HTTP 要求] アクティビティを追加します。
-
[エンドポイント] アドレス、[要求メソッド]、応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。

-
[プロパティ] パネルの [本文形式] フィールドに値
application/jsonを追加します。注: ワークフローには「application/xml」と表示されます。 -
Result (値) フィールドに変数
Resultを追加します。 -
[ステータス コード] フィールドに変数
StatusCodeを追加します。
-
- [HTTP 要求] アクティビティの後に [条件分岐 (if)] アクティビティを追加します。
- [条件 (Condition)] フィールドに式
StatusCode = 200を追加します。
- [条件 (Condition)] フィールドに式
- [条件分岐 (if)] アクティビティの [Then] フィールドに [シーケンス] アクティビティを追加します。
-
次の変数を作成します。
変数名 変数の型 既定値 ResultJSONJObject
-
- [シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。
-
[ブック パス] フィールドに式
"GetLanguagesDictionary.xaml"を追加します。 -
[引数を編集] ボタンを選択して、次の引数を追加します。
引数名 引数の方向 引数の型 既定値 out_LanguagesDictionaryOut Dictionary<String, String> LanguagesDictionary 
-
- [ワークフロー ファイルを呼び出し] アクティビティの後に [JSON を逆シリアル化] アクティビティを追加します。
- [JSON 文字列] フィールドに変数
Resultを追加します。
- [JSON 文字列] フィールドに変数
- [JSON を逆シリアル化] アクティビティの後に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
LanguageCodeを追加します。 - [右辺値 (Value)] フィールドに式
ResultJSON("data")("detections")(0)("language").ToStringを追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
LanguageNameを追加します。 - [右辺値 (Value)] フィールドに式
LanguagesDictionary(LanguageCode)を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に [代入] アクティビティをもう 1 つ追加します。
- [左辺値 (To)/宛先] フィールドに変数
Reliableを追加します。 - [右辺値 (Value)] フィールドに式
CBool(ResultJSON("data")("detections")(0)("isReliable").ToString)を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
Confidenceを追加します。 - [右辺値 (Value)] フィールドに式
CDbl(ResultJSON("data")("detections")(0)("confidence").ToString)を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- [代入] アクティビティの後に [メッセージをログ] アクティビティを追加します。
- 式
"Detection for the text:" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToStringを Message フィールドに追加します。
- 式
- [条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
- 式
"HTTP Request was not successful. Code: " + StatusCode.ToStringを Message フィールドに追加します。
- 先ほどの [メッセージをログ] アクティビティの後に [メッセージをログ] アクティビティを追加します。
-
[レベル] ドロップダウン リストから [Warn] オプションを選択します。
-
式
"HTTP Request was not successful. Result: " + Resultを Message フィールドに追加します。
-
- プロセスを実行して、テキストで使用されている言語を検出してログに記録します。
テキストのバッチ内の言語の検出
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
- デザイナー パネルに [シーケンス] コンテナーをドラッグします。
-
次の変数を作成します。
変数名 変数の型 既定値 APIKey文字列 TextsString[] Result文字列 StatusCodeInt32 HTTPRequestBodyJSON文字列
-
- [シーケンス] コンテナー内に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
APIKeyを追加します。 - [右辺値 (Value)] フィールドに値
"demo"を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 上記の [代入] の下にもう 1 つ [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
Textsを追加します。 - [右辺値 (Value)] フィールドに値
{"Hello world.", "Buenos dias, señor.", "Guten Tag.", "Buna ziua, tuturor."}を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に新しい [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
HTTPRequestBodyJSONを追加します。 - [右辺値 (Value)] フィールドに値
Newtonsoft.Json.JsonConvert.SerializeObject(new with{ .q = Texts })を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- [代入] アクティビティの後に [HTTP 要求] アクティビティを追加します。
-
[エンドポイント] アドレス、[要求メソッド]、応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。

-
[プロパティ] パネルの [本体] フィールドに変数
HTTPRequestBodyJSONを追加します。 -
[本文形式] フィールドに値
application/jsonを追加します。 -
Result (値) フィールドに変数
Resultを追加します。 -
[ステータス コード] フィールドに変数
StatusCodeを追加します。
-
- [HTTP 要求] アクティビティの後に [条件分岐 (if)] アクティビティを追加します。
- [条件 (Condition)] フィールドに式
StatusCode = 200を追加します。
- [条件 (Condition)] フィールドに式
- [条件分岐 (if)] アクティビティの [Then] フィールドに [シーケンス] アクティビティを追加します。
-
次の変数を作成します。
変数名 変数の型 既定値 ResultJSONJObject LanguagesDictionarySystem.Collections.Generic.Dictionary<System.String, System.String> LanguageCode文字列 LanguageName文字列 ReliableBoolean ConfidenceDouble indexInt32 0
-
- [シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。
-
[ブック パス] フィールドに式
"GetLanguagesDictionary.xaml"を追加します。 -
[引数を編集] ボタンを選択して、次の引数を追加します。
引数名 引数の方向 引数の型 既定値 out_LanguagesDictionaryOut Dictionary<String, String> LanguagesDictionary 
-
- [ワークフロー ファイルを呼び出し] アクティビティの後に [JSON を逆シリアル化] アクティビティを追加します。
- [JSON 文字列] フィールドに変数
Resultを追加します。
- [JSON 文字列] フィールドに変数
- [JSON を逆シリアル化] アクティビティの後に [繰り返し (コレクションの各要素)] アクティビティを追加します。
- 式
ResultJSON("data")("detections")を Value (値) フィールドに追加します。
- 式
- [繰り返し (コレクションの各要素)] アクティビティの [本体] 内部に [代入] アクティビティを配置します。
- [左辺値 (To)/宛先] フィールドに変数
LanguageCodeを追加します。 - [右辺値 (Value)] フィールドに式
item(0)("language").ToStringを追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
LanguageNameを追加します。 - [右辺値 (Value)] フィールドに式
LanguagesDictionary(LanguageCode)を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に [代入] アクティビティをもう 1 つ追加します。
- [左辺値 (To)/宛先] フィールドに変数
Reliableを追加します。 - [右辺値 (Value)] フィールドに式
CBool(item(0)("isReliable").ToString)を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- 先ほどの [代入] アクティビティの後に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
Confidenceを追加します。 - [右辺値 (Value)] フィールドに式
CDbl(item(0)("confidence").ToString)を追加します。
- [左辺値 (To)/宛先] フィールドに変数
- [代入] アクティビティの後に [メッセージをログ] アクティビティを追加します。
- 式「"Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: "
- Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString」を [メッセージ] フィールドに追加します。
- 式「"Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: "
- [条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
- 式
"HTTP Request was not successful. Code: " + StatusCode.ToStringを Message フィールドに追加します。
- 先ほどの [メッセージをログ] アクティビティの後に [メッセージをログ] アクティビティを追加します。
-
[レベル] ドロップダウン リストから [Warn] オプションを選択します。
-
式
"HTTP Request was not successful. Result: " + Resultを Message フィールドに追加します。
-
- プロセスを実行して、テキストで使用されている言語を検出してログに記録します。
こちらから サンプルをダウンロードできます。