こんばんは。おむおむです。
5月中にこのテーマを書き終わるのは
残念ながら無理そうだ、無念だ。。。
まあ、このブログの目的として
定期的にアウトプットしたいというだけだからな、うん。
6月上旬には完結すると思うぞ、たぶん。
さて、前回はPoke APIを使ってやりたいことをまとめました。
newgraduate19-rpa.hatenablog.com
今回は、実際にPoke APIのデータを
Blue Prismで取得する方法について書いていきます。
・・・と思いましたが、
長くなりそうなので分けたいと思います!
今回はBlue PrismのWeb API機能の概要についてです!
Web API機能を使う
Blue PrismでWeb APIを操作する構成する場合、
実は「システム」タブのメニューから選択する必要があります。
「システム」->「オブジェクト」->「Web APIサービス」に移動します。
ここから、Web APIの構成を行っていきます。
Web API画面の構成方法
まず、画面右上の「サービスを追加」をクリックします。
すると、別ウィンドウが立ち上がります。
ここに設定内容を書いていく感じですね。
名前はまあいいとして、気になるのは「ベースURL」ですね。
こいつは、対象のWeb APIを叩くうえで
ベースとなる=変化しないURLの部分を指定します。
Poke APIの場合は、
https://pokeapi.co/api/v2/
を指定します。
アクションを作る
次に、URLの可変部分を設定して
実際にAPIを叩く処理を追加していきます。
「共通○○」みたいなパラメータは一旦無視です。
興味がある方は製品ヘルプ見てね!
bpdocs.blueprism.com
余談ですが、Web APIの項目については
やたらと製品ヘルプが充実してるんですよね。。。
たぶん新機能としての後付けだからかな?
(古くからの機能のヘルプもアップデートしてほしいな...)
さて、閑話休題。
アクションを新規作成するには、
画面左下の「アクション追加」ボタンをクリックします。
ツリービューでは、1つのアクションにつき
「アクション名」、「パラメーター」、「リクエスト」、
「ヘッダー」、「応答」の5つの要素がセットになっています。
詳しい説明は製品ヘルプに任せますが、
今回はヘッダー以外の要素をいじっていきます。
アクション名
その名の通り、アクションの名称を設定します。
通常のオブジェクトと同様に、説明を記入できます。
チェックボックスが何個かありますが、
今回はデフォのままでいじらないので割愛します。
パラメーター
プロセス・オブジェクトでいうところの
入力パラメータのことです。
パラメータ名、説明、データ型、初期値を
それぞれ設定していきます。
一点異なるのは、一番右の「公開」のチェックボックスに
チェックを入れないと反映されないという点です。
忘れずにチェックしておきましょう。
リクエスト
これが大事なところ。
実際に送信するリクエストをここで作成します。
一つずつ順番に見ていきましょう。
「メソッド」では、その名の通り
HTTPメソッドを指定します。
使用できるメソッドは、CRUD以外にも対応しています。
※CRUDってなんぞ?という方はこちら。
qiita.com
「URLパス」の部分については、
最初の段階で変動しない部分のURLは設定済みなので、
ここではURLの可変部分を設定します。
ここで、URLの中に前項で指定した
パラメータを埋め込んでURLを動的に変更することができます。
パラメータを指定する場合は、
[パラメータ名]
の形式で指定する必要があります。
例えば、Poke APIで「id」というパラメータを用意して使用したい場合は、
URLパスの入力欄にpokemon/[id]
という風に指定するとよいでしょう。
「本文のコンテンツ」の部分は、POSTする際の
パラメータなどを設定する部分ですが、
今回はGETのみなので指定する必要はありません。
応答
ここも超大事。
なんなら一番大事だし、一番ややこしい。
APIを叩き、JSON形式で戻ってきたレスポンスに対して
JSONPathを使用して
必要なデータを抽出します。
じぇいそん、、、ぱす、、、?
恥ずかしながら、この機能を触るまで
その存在を存じ上げませんでした...orz
JavaScriptの勉強やるやる詐欺してる弊害が・・・
まあでも、同じデータフォーマットの仲間の
XMLから一部を抽出するX-Pathがあるのだから
JSONを抽出する方法もあるよねえ。。。
書き方は、Web上にいくらでも情報が転がっていますが、
これまた意外とBlue Prismの製品ヘルプも丁寧に書いてくれています。
bpdocs.blueprism.com
外部サイトだとこことか。
kubernetes.io
そしてなんとブラウザ上でJSONPathを
お手軽に評価できるサイトもあるようです。
めっちゃ便利。
jsonpath.com
今回のポケモン図鑑で使用するJSONPathは
また次回書きたいと思います。
別に書くのが疲れたというわけではない
今回は機能の概要説明にとどめておいて、
次回Poke APIを題材として
具体的に内容を設定していきます。
ちなみ今回説明した内容は、
製品ヘルプでかなーり丁寧に書いてくれていますので
省略した部分が気になる方はそちらをcheck。
bpdocs.blueprism.com
まとめ
- 製品ヘルプがめっちゃ充実してる
- だから正直製品ヘルプ読んでおけば大体わかる
- JSONPath記法を理解せねば
テレワーク永遠に続いてくれ(切望)