- UiPath.Activities.Api.Base
- UiPath.Studio.Activities.Api
- UiPath.Studio.Activities.Api.Activities
- UiPath.Studio.Activities.Api.BusyService
- UiPath.Studio.Activities.Api.ExpressionEditor
- UiPath.Studio.Activities.Api.Expressions
- UiPath.Studio.Activities.Api.Licensing
- UiPath.Studio.Activities.Api.Mocking
- UiPath.Studio.Activities.Api.ObjectLibrary
- UiPath.Studio.Activities.Api.PackageBindings
- UiPath.Studio.Activities.Api.ProjectProperties
- UiPath.Studio.Activities.Api.ScopedActivities
- UiPath.Studio.Activities.Api.Settings
- UiPath.Studio.Activities.Api.Wizards
- UiPath.Studio.Activities.Api.Workflow
- UiPath.Studio.Api.Controls
- UiPath.Studio.Api.Telemetry
- UiPath.Studio.Api.Theme
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
文字列
StatusCode
Int32
LanguagesDictionary
Dictionary<String, String>
LanguageCode
文字列
Reliable
Boolean
Confidence
Double
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] フィールドに [シーケンス] アクティビティを追加します。
-
次の変数を作成します。
変数名
変数の型
既定値
ResultJSON
JObject
-
-
[シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。
- [ブック パス] フィールドに式
"GetLanguagesDictionary.xaml"
を追加します。 -
[引数を編集] ボタンを選択して、次の引数を追加します。
引数名
引数の方向
引数の型
既定値
out_LanguagesDictionary
Out
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
文字列
Texts
String[]
Result
文字列
StatusCode
Int32
HTTPRequestBodyJSON
文字列
-
-
[シーケンス] コンテナー内に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
APIKey
を追加します。 - [右辺値 (Value)] フィールドに値
"demo"
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
前のアクティビティの下に別の [代入] アクティビティを追加します。
- [左辺値 (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] フィールドに [シーケンス] アクティビティを追加します。
-
次の変数を作成します。
変数名
変数の型
既定値
ResultJSON
JObject
LanguagesDictionary
System.Collections.Generic.Dictionary<System.String, System.String>
LanguageCode
文字列
LanguageName
文字列
Reliable
Boolean
Confidence
Double
index
Int32
0
-
-
[シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。
- [ブック パス] フィールドに式
"GetLanguagesDictionary.xaml"
を追加します。 -
[引数を編集] ボタンを選択して、次の引数を追加します。
引数名
引数の方向
引数の型
既定値
out_LanguagesDictionary
Out
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
を Message フィールドに追加します。
- 式
-
[条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
- 式
"HTTP Request was not successful. Code: " + StatusCode.ToString
を Message フィールドに追加します。
-
先ほどの [メッセージをログ] アクティビティの下に [メッセージをログ] アクティビティを追加します。
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
-
式
"HTTP Request was not successful. Result: " + Result
を Message フィールドに追加します。
- プロセスを実行して、テキストで使用されている言語を検出してログに記録します。
こちらからサンプルをダウンロードできます。