Web API を利用する (HTTP POST)

最終更新日: 2023年4月14日

WebAPIブロック

WebAPI に関する4つのブロックを説明します。

WebAPIに関する4つのブロック

WebAPI呼び出しブロック

接続先のURLにポストデータを送信します。リクエストヘッダを付与することもできます。呼び出し先のWebAPIが文字列を返す場合、それを受け取ることができます。

WebAPI呼び出しブロック

JSON文字列解析ブロック

「WebAPI呼び出しブロック」が受け取った文字列がJSON形式の場合、これを解析するためのブロックです。パス部分には JSONPath 形式を指定します。

JSON文字列解析ブロック

JSON作成ブロック

JSONプロパティブロックから、JSON形式文字列を作成します。

JSON作成ブロック

JSONプロパティブロック

キーと値のペアとなる、JSONプロパティを表現するブロックです。

JSONプロパティブロック

例 認証後にアクセストークンを取得する

ここでは架空の WebAPI サービス www.example.com を対象とした、ブロックの利用方法を説明します。

最初に、認証用API "https://www.example.com/api/v1/auth" にアクセスし、アクセストークンを取得するというブロックを用意してみます。この WebAPI は利用時に "company_id", "login_id", "password", "alignment_id" という 4 つの値をJSON形式で送信する仕様である、とします。また、返戻された文字列は JSON 形式とします。この文字列を変数resultで受けるものとします。

認証用APIを呼び出す

この WebAPI が返戻した JSON 形式文字列内に "status" と "message" が格納されている、とします。"status" の値が 0 の場合は正常終了で、それ以外の値は異常終了、かつ、そのときには "message" にエラーの原因が格納されているとします。

"status" が 0 でなければ業務例外を発生させ、このスクリプトを終了させる例は次のとおりです。

戻り値statusの値を確認する

アクセストークンを取得する

この WebAPI は、正常終了すると返戻した JSON 形式文字列内に "token" を含む、とします。この値を変数tokenに保持させるブロックは次のとおりです。

アクセストークンの取得

念のため、デバッグウィンドウに取得したトークンの値を出力させてみましょう。

デバッグウィンドウにアクセストークンを表示する

ここまでのブロックをまとめると、次のようになります。

認証からトークン取得までのブロック

例 アクセストークンを利用した WebAPI 呼び出し

前節で取得したアクセストークンを使って、別の WebAPI を呼び出す例を示します。今回、想定する架空の WebAPI サービスは、呼び出し時にポストデータとしてアクセストークンをJSON文字列形式で含めておく、という仕様とします。

アクセストークンを使って情報を取得する例

取得した結果が、JSON文字列形式になっている場合、次のようにして返戻値の内容をメッセージに含めることができます。JSON文字列からの値の取得には「JSON文字列解析ブロック」が利用できます。

返戻値の解析

例 アクセストークンを利用した WebAPI 呼び出し (2) ファイルを含める

このモデルに含まれるファイル型項目の内容(つまりファイルそのもの)を WebAPI のポストデータとして送信する例を示します。この場合、BASE64エンコードブロックを使うと便利です。

ここでは "document_binary" というキーで、BASE64エンコードされたファイルを送信する例を示します。

BASE64エンコードブロックを使ったバイナリデータの送信